1
我想在Bash中使用來自算術括號(())
的一個表達式和來自測試[ ]
的另一個表達式編寫複合表達式。這是我有:Bash複合表達式與算術和測試
if ((${#INPUT_FILES[@]} > 1)) -a [ -n "$OUTPUT_FILE" ]; then
但是我得到的錯誤
./backup.sh: line 51: syntax error near unexpected token `-a'
./backup.sh: line 51: `if ((${#INPUT_FILES[@]} > 1)) -a [ -n "$OUTPUT_FILE" ]; then'
INPUT_FILES
是一個字符串數組,OUTPUT_FILE
是一個普通的字符串變量。
我怎麼邏輯and
這兩個表達式在一起?
真棒,很好的答案。謝謝! –
+1。在附註中,'-a' /'-o'事實上已被棄用,因可能的副作用而不應使用。 '&&'/'||'幾乎總是你想要的。 –
@AdrianFrühwirth啊,謝謝,我沒有意識到。確認並更新。 – kojiro