shell腳本執行報錯[: 0: unary operator expected


在執行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

  

其實,針對我所犯的錯誤,當然還是使用“[]”普通判斷為好了,可以檢查錯誤;但是這種實現多是用來判斷查詢的值或者其他條件賦予的值是否滿足條件,存在為空是正常的場景,所以要完善自己代碼。

詳細含義待補充  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM