我有一個函數,在我試圖比較第一個參數的字符串,然後單獨的布爾變量。shell腳本如果語句compraising的字符串比較和布爾檢查
我的樣品的bool:
EMS=true;
COLL=true;
在給定的點,兩個或任何一個,或者都不可以實現的。
我的函數體:
function some_function() {
...
...
if [ [ "$1" = "ez" ] && $EMS ] || [ "$1" = "coll" ] && $COLL ]; then
#do mysterious magic
...
...
fi
}
我打電話,像這樣的功能:
some_function ez
some_function coll
然而,當我執行該腳本,我碰到這樣的:
./deployBuild.sh: line 145: [: too many arguments
我如果廁所p是不正確的,我無法修復它。我如何繼續?什麼我想要實現
僞代碼:
if ("$1" is "ez" AND $EMS evaluates to true) OR ("$1" is "coll" AND $COL evaluates to true)
此外,你不能包裹'[' - 我添加了另一個副本(間接)解釋這一點。 – tripleee