参见英文答案 >
Simple logical operators in Bash3答案我不知道如何做一个如果在shell中多个测试,我有麻烦写这个脚本:
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
问题是我每次得到这个错误:./compare.sh:[:missing`]’command not found
谢谢!
sh解释&&作为shell运算符。将其更改为-a,这是[的连接运算符:
[ "$arg1" = "$arg2" -a "$arg1" != "$arg3" ]
此外,你应该总是引用变量,因为[当你离开参数时感到困惑。