Bash布尔变量检查说找不到命令

时间:2017-06-13 14:18:38

标签: bash macos shell

我有一个.sh扩展名为&的shell脚本在OSX环境中运行,我在其中设置了如下变量:

booean_var1 = false
booean_var2 = true

根据2个变量进行if检查

if [ $booean_var1 ] || [ $booean_var2 ]
then
  echo one of them is true
fi

在一台OSX机器上运行bash工作正常。但我从另一台OSX机器上执行了我的shell脚本。从那里用bash运行它说

booean_var1 command not found

shell脚本语法是否与bash在一台机器上的不同?

2 个答案:

答案 0 :(得分:6)

尝试不用空格:

booean_var1=false
booean_var2=true

由于truefalse是命令,因此[]

if $booean_var1 || $booean_var2 ;then
    echo one of them is true
fi

答案 1 :(得分:2)

booean_var1=false
booean_var2=true

if [ "$booean_var1" = true ] || [ "$booean_var2" = true ]
then
  echo one of them is true
fi