powershell while 循环没有按预期工作
powershell while loop not working as expected
我对这个 while 循环有疑问。即使状态返回为在线,它仍然停留在 while 循环中......任何想法都会很棒 :)
$instance = "(opsworks instance id)"
$status = (Get-OPSInstance -InstanceId $instance -Region eu-west-1).Status.Trim()
Write-Host "Initial:$status"
while($status -ne 'online' -or $status -ne 'start_failed')
{
$status = (Get-OPSInstance -InstanceId $instance -Region eu-west-1).Status.Trim()
Write-Host "Next:$status!"
}
这是一个基本的布尔代数。这是因为 online
不等于 start_failed
。 -or
运算符将检查表达式的两边,并将 return true
incase 任一匹配项。
条件
($status -ne 'online' -and $status -ne 'start_failed')
将被评估为 false
当且仅当 $status
既不是 online
也不是 start_failed
。
我对这个 while 循环有疑问。即使状态返回为在线,它仍然停留在 while 循环中......任何想法都会很棒 :)
$instance = "(opsworks instance id)"
$status = (Get-OPSInstance -InstanceId $instance -Region eu-west-1).Status.Trim()
Write-Host "Initial:$status"
while($status -ne 'online' -or $status -ne 'start_failed')
{
$status = (Get-OPSInstance -InstanceId $instance -Region eu-west-1).Status.Trim()
Write-Host "Next:$status!"
}
这是一个基本的布尔代数。这是因为 online
不等于 start_failed
。 -or
运算符将检查表达式的两边,并将 return true
incase 任一匹配项。
条件
($status -ne 'online' -and $status -ne 'start_failed')
将被评估为 false
当且仅当 $status
既不是 online
也不是 start_failed
。