powershell - Powershell if -lt 问题;如果条件为假,则返回真
问题描述
我对 Powershell 中的小脚本有疑问。这是我的脚本:
$number = Read-Host "Enter a number"
if ($number -lt 3){
Write-Host "Number is too low."
break
}
25
但是,例如,当我输入时,if
条件仍然计算为真。
解决方案
Read-Host
总是返回一个字符串,并与作为 LHS 的字符串-lt
进行词法比较:
PS> '25' -lt 3
True # because '2' comes lexically before '3'
您必须将返回的字符串转换为Read-Host
数字才能执行数字比较:
[int] $number = Read-Host "Enter a number"
if ($number -lt 3){
Write-Host "Number is too low."
break
}
推荐阅读
- sql - 选择组中的最新值
- python-3.x - 如何在 Jupyter 笔记本中修复 Python 3 的内核死机?
- angular - Angular 2 - TCP 连接
- entity-framework-core - Asp.Net Core 3.1 Invalid column name 'Column Name' 错误信息
- ios - 如何在不将设备连接到 Mac 的情况下将本机应用程序部署到 iOS 设备?
- flutter - 是否可以从另一个颤振应用程序打开特定的颤振应用程序屏幕?
- android - 如何取消阻止下载操作的 kotlin 协程
- nextflow - 通过 CLI 提供 NextFlow 工作流输入(不是参数)
- python - 权重应该与 x 具有相同的形状
- javascript - java.time.对 JavaScript 日期的即时响应