bash – 如果elif fi在shell脚本中使用

前端之家收集整理的这篇文章主要介绍了bash – 如果elif fi在shell脚本中使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > 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" ]

此外,你应该总是引用变量,因为[当你离开参数时感到困惑。

猜你在找的Bash相关文章