我在shell bash脚本中编写了一个非常简单的比较,但我从来没有弄清楚:
count = 0
if [ expr $count / 4 = 0 ];
then
echo "yes";
else
echo "no";
fi
总是不给?
答案 0 :(得分:5)
如果您想呼叫expr程序,您必须实际呼叫它:
if [ $(expr $count / 4) = 0 ]; then echo "yes"; else echo "no"; fi
但是,bash可以在内部完成:
if (( $count / 4 == 0 )); then echo "yes"; else echo "no"; fi
答案 1 :(得分:3)
您需要使用command substitution($()
或反引号)来评估eval
表达式。另外,对integer comparison使用-eq
:
if [ $(expr $count / 4) -eq 0 ];
then
echo "yes";
else
echo "no";
fi
答案 2 :(得分:0)
这个怎么样
[[ count/4 -eq 0 ]] && echo 'yes' || echo 'no'