PowerShell 中的布尔值是什么?
$true和 $false。
$true
$false
但这些都是常量,布尔型没有语言级的文字。
取决于您需要它们的位置,您也可以使用任何 胁迫到布尔值的值,如果类型必须是布尔值,例如,在需要布尔值(并且没有冲突重载)的方法调用中,或者条件语句中。例如,大多数非空对象都为 true。null、空字符串、空数组和数字 0都为 false。
null
0
[bool]1和 [bool]0也可以工作。
[bool]1
[bool]0
为了给已经存在的答案添加更多信息 : Boolean 文本 $true和 $false也可以作为 PowerShell 脚本的命令行参数使用。对于下面存储在名为 installmyapp.ps1的文件中的 PowerShell 脚本:
installmyapp.ps1
param ( [bool]$cleanuprequired ) echo "Batch file starting execution."
现在,如果我必须从 PowerShell 命令行调用这个 PowerShell 文件,我可以这样做:
installmyapp.ps1 -cleanuprequired $true
或者
installmyapp.ps1 -cleanuprequired 1
这里 1和 $true是等价的,0和 $false也是等价的。
1
注意 : 永远不要期望字符串文字 true可以自动转换为布尔值。例如,如果我运行以下命令:
true
installmyapp.ps1 -cleanuprequired true
执行脚本时出现以下错误:
无法处理参数“ cleanupre”上的参数转换。 无法将值“ System.String”转换为类型“ System.Boolean” 参数只接受布尔值和数字,例如 $True, $假,1或0。