Windows PowerShell中有不少场景须要输入0或者1做为命令的参数。Powershell对于布尔值的逻辑处理到底是怎样的呢?除了最经常使用的$True, $False, 1, 0。对于要求输入布尔值的参数的命令,若是输入一些其它的字符串会怎么样呢?这个就牵涉到PowerShell内部的处理机制了。
首先给一个简单test函数,能够让系统本身判断输入的变量将会被断定为TRUE仍是FALSE。shell
function test ($VALUE) {
if ($VALUE) {
Write-Host -ForegroundColor GREEN “TRUE”
} else {
Write-Host -ForegroundColor RED “FALSE”
}
}
咱们先来测试一下数字0。若是做为数字输入,那么返回结果是FALSE,若是做为字符串输入,那么任何字符串都会被判断为TRUE。若是看不到图,请点我。 ide
对于变量,将会使用变量中的值来断定TRUE或者FALSE。若是变量没有定义,那么将会断定它为FALSE。
那么若是连变量都没定义过呢?会返回什么?
答案是FALSE。函数
但愿这篇文章能够帮助你们理解PowerShell中布尔值处理的原理。测试