I have a problem with small script in Powershell. Here is my script:
$number = Read-Host \"Enter a number\"
if ($number -lt 3){
Write-Host \"Number is to
Read-Host
always returns a string, and -lt
performs lexical comparison with a string as the LHS:
PS> '25' -lt 3
True # because '2' comes lexically before '3'
You must convert the string returned from Read-Host
to a number in order to perform numerical comparison:
[int] $number = Read-Host "Enter a number"
if ($number -lt 3){
Write-Host "Number is too low."
break
}