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中布爾值處理的原理。測試