預期條件二元運算符

預期條件二元運算符
var="$(command1 -l '$var2' -c 'command2|grep -c "search"')"
if [[ var !=0 ]]; then
fi

為什麼我得到“預期條件二元運算符”。我已經搜索過並且。我看到 [[]] 是一個測試語句,但為什麼它不起作用?

答案1

  1. $當你調用它時,你在 var 前面丟失了,就像你寫的那樣,它實際上是var
  2. 考慮可能的漏洞[[ ... ]]使用或(( ... ))與您無法控制的變數一起使用時的腳本。對於您的情況,使用 可能會更好[ "$var" -ne 0 ]
  3. !=您在和之間缺少一個空格0(這是錯誤的根源!)
  4. !=是一個字串比較運算符,雖然它可能在您的範例中起作用,但您希望用於-ne比較整數。

利用外殼檢查

相關內容