我不知道如何在shell中使用多個測試執行if
。我無法寫這個劇本:如果在shell腳本中使用elif fi
./compare.sh:::缺少`]
echo "You have provided the following arguments $arg1 $arg2 $arg3" if [ "$arg1" = "$arg2" && "$arg1" != "$arg3" ] then echo "Two of the provided args are equal." exit 3 elif [ $arg1 = $arg2 && $arg1 = $arg3 ] then echo "All of the specified args are equal" exit 0 else echo "All of the specified args are different" exit 4 fi
問題是每次我得到這個錯誤沒有找到」命令
很多評論家建議你使用[[而不是[但是這會讓你的腳本特定於bash。如果您可以堅持使用普通的Bourne shell(sh)語法,那麼您將減少維護和可移植性問題。 –