为什么 ($false || $true) 在 Powershell 7+ 中评估为 False?
Why does ($false || $true) evaluate to False in Powershell 7+?
在 Powershell 7.2 中 Write-Output ($false || $true)
将输出 False
。为什么?
因为它不是“逻辑或”,所以会是 -or
或 -bor
。它正在做“如果第一个命令失败,运行 第二个命令”。
引用变量$false
不会失败,所以引用变量$true
不会执行。
为了比较,尝试asdfg || $true
,如果没有找到命令,你得到一个错误然后$true
。
在 Powershell 7.2 中 Write-Output ($false || $true)
将输出 False
。为什么?
因为它不是“逻辑或”,所以会是 -or
或 -bor
。它正在做“如果第一个命令失败,运行 第二个命令”。
引用变量$false
不会失败,所以引用变量$true
不会执行。
为了比较,尝试asdfg || $true
,如果没有找到命令,你得到一个错误然后$true
。