我有一个.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在一台机器上的不同?
答案 0 :(得分:6)
尝试不用空格:
booean_var1=false
booean_var2=true
由于true
和false
是命令,因此[]
:
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