如果有elif声明,这有什么问题

时间:2014-03-20 12:11:21

标签: bash if-statement syntax

 if [[ (thing1 -eq 0) && (thing -eq 0) && (thing3 -eq 0) && (thing4 -eq 0) ]]; then
      echo "no flags"
 elif [[ (thing1 -eq 1) && (thing -eq 0) && (thing3 -eq 0) && (thing4 -eq 0) ]]; then
      echo "-g flag"
 elif [[ (thing1 -eq 0) && (thing -eq 1) && (thing3 -eq 0) && (thing4 -eq 0) ]]; then
      echo "-p flag"
 fi

有什么想法吗?给我错误,我不知道为什么。

1 个答案:

答案 0 :(得分:1)

这里不需要方括号,所以请使用:

[[ $thing1 -eq 0 && $thing -eq 0 && $thing3 -eq 0 && $thing4 -eq 0 ]];

也许你的意思是使用变量而不是像thing,thing1等常量字符串。