【发布时间】:2013-04-18 15:49:17
【问题描述】:
我正在尝试编写一个脚本来检查两个错误标志,如果一个标志(或两个)被更改,它会回显——发生错误。我的脚本:
my_error_flag=0
my_error_flag_o=0
do something.....
if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" && "$my_error_flag_o"="2" ]]; then
echo "$my_error_flag"
else
echo "no flag"
fi
基本上应该是这样的:
if ((a=1 or b=2) or (a=1 and b=2))
then
display error
else
no error
fi
我得到的错误是:
line 26: conditional binary operator expected
line 26: syntax error near `]'
line 26: `if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" && "$my_error_flag_o"="2" ]]; then'
我的括号弄乱了吗?
【问题讨论】:
-
使用括号 - ()
-
逻辑上,
a==1 or b==2已经涵盖了a==1 and b==2的情况。在这里单独测试是完全多余的。
标签: bash if-statement flags