在執行shell腳本,if判斷語句報錯
#!/bin/bash if [ 0 == $testNum ] then echo "Check Result:0" fi
testNum使用時沒有定義,無賦值是空(原本是有定義的,只是筆誤寫錯類似tsetNum了),執行轉換后實際為
if [ 0 == ]
不相等,且少[符號錯誤;規避如下
#!/bin/bash if [[ 0 == $testNum ]] then echo "Check Result:0" fi
使用“[[ ]]”進行判斷;或者添加一個字符
#!/bin/bash if [ "0"x == "$testNumx"x ] then echo "Check Result:0" fi
其實,針對我所犯的錯誤,當然還是使用“[]”普通判斷為好了,可以檢查錯誤;但是這種實現多是用來判斷查詢的值或者其他條件賦予的值是否滿足條件,存在為空是正常的場景,所以要完善自己代碼。
詳細含義待補充