我要檢查,如果所有三個變量都相同,則打印味精檢查三個變量UNIX shell腳本相同
if [ "$x1" == "$x2" == "$3" ];
then
echo "all are same"
fi
我收到此錯誤:
[: too many arguments
我要檢查,如果所有三個變量都相同,則打印味精檢查三個變量UNIX shell腳本相同
if [ "$x1" == "$x2" == "$3" ];
then
echo "all are same"
fi
我收到此錯誤:
[: too many arguments
你不能比較三個變量當時。取而代之的是,不要在塊比較它們中的兩種:
if [ "$x1" = "$x2" ] && [ "$x2" = "$x3" ];
then
echo "all are same"
fi
感謝兄弟... 。 – user3250373
,我推薦使用
if [[ "$x1" == "$x2" && "$x2" == "$x3" ]]; then
如果您需要/想要使用[ ... ]
保持POSIX兼容性,那麼你不應該使用==
。
if [ "$x1" = "$x2" ] && [ "$x2" = "$x3" ]; then
bash
讓您使用非標準==
與[
,但有小點混合標準,不規範的行爲。
可能重複[Bash:測試多個變量的相互平等?](http://stackoverflow.com/questions/8812089/bash-test-mutual-equality-of-multiple-variables) – pfnuesel