我对Powershell中的小脚本有疑问。 这是我的脚本:
$number = Read-Host "Enter a number"
if ($number -lt 3){
Write-Host "Number is too low."
break
}
例如,当我输入25
时,if
条件仍然为true。
答案 0 :(得分:2)
Read-Host
总是返回 string ,而-lt
用字符串作为LHS执行 lexical 比较:
PS> '25' -lt 3
True # because '2' comes lexically before '3'
您必须将Read-Host
返回的字符串转换为 number 以便执行数字比较:
[int] $number = Read-Host "Enter a number"
if ($number -lt 3){
Write-Host "Number is too low."
break
}