多重IF条件的Bash Shell语法问题

时间:2015-04-06 06:55:26

标签: bash shell unix

我对单个IF子句声明中的Multiple条件感到困惑。

如果我使用以下语法,则会抛出错误。

if [[ [ "$a" == "" && "$b" != "" ] && [ "$b" == "" ] ]]; 
then echo 1; 
else echo 2; 
fi
  

-bash:[:缺少`]'

但是,如果我将[替换为(仅在条件内,则其工作如下

if [[ ( "$a" == "" && "$b" != "" ) && ( "$b" == "" ) ]]; 

任何人都可以说为什么会这么混乱,为什么会这样设计呢?我对使用不同类型的大括号感到困惑[(。何时使用[以及何时不使用](。

0 个答案:

没有答案