Linux
需要條件二元運算符
var="$(command1 -l '$var2' -c 'command2|grep -c "search"')" if [[ var !=0 ]]; then fi
為什麼我會得到“預期的條件二元運算符”。我已經搜尋過了。我看到
$$ [ $$] 是一個測試語句,但為什麼它不起作用?
- 當你呼叫它時,你在 var 前面失去
$
了,就像你寫的一樣,它會是字面上var
的 .- 在使用或與您無法控制的變數一起使用時,請考慮您的腳本可能存在的漏洞。在您的情況下,最好使用.
[[ ... ]]``(( ... ))``[ "$var" -ne 0 ]
- 您在
!=
and之間缺少一個空格0
(這是錯誤的根源!)!=
是一個字元串比較運算符,雖然它可能適用於您的範例,但您想使用它-ne
來比較整數。使用shellcheck。