下面是bash脚本
脚本返回的b值为0或1.
b=`tail -l /apps_data_01/mc_migs/inbound/logs/fp.syslog | awk c=$7} {print $c}
if ((!"$b" eq "0"));then
fi
if (($b==0));then
fi
错误:
((:!eq 0:表达式中的语法错误(错误标记为“0”)
((:== 0:语法错误:操作数预期(错误标记为“== 0”)
答案 0 :(得分:3)
正确的语法如下:
b=0
if [[ ! "$b" == "0" ]];then
echo "Not EQ"
fi
if [[ $b == 0 ]];then
echo "EQ"
fi
请注意[[和空格。
使用[[ ... ]]
测试构造而不是[ ... ]
可以防止脚本中的许多逻辑错误。例如,&&, ||, <, and >
运算符在[[ ]]
测试中工作,尽管在[ ]
结构中给出了错误。使用它们是一个很好的做法
答案 1 :(得分:-1)
bash使用[]括起if语句的条件。此外,您需要在==
运算符之前和之后使用空格。有关bash脚本中if语法的详细信息,请参阅http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html。
请注意,您可以使用else来避免重复比较。