如果是十进制值比较则不起作用。请调试代码并为我提供解决方案。请找到以下代码
提前致谢..
i=2.4524
j=2.430
s=0.2
sub=`echo "$i - $j" | bc`
if (( $sub <= $s ))
then
echo "red"
else
echo "green"
fi
答案 0 :(得分:0)
尝试这一点我认为这将解决您的问题
i=2.4524
j=2.430
s=0.2
sub=`echo "$i - $j" | bc`
if ( $sub le $s )
then
echo "red"
else
echo "green"
fi
答案 1 :(得分:0)
使用expr
:
i=2.4524
j=2.430
s=0.2
sub=`echo "$i - $j" | bc`
if expr "$sub" '<=' "$s" > /dev/null; then
echo "red"
else
echo "green"
fi
使用bc
也可以是一个选项,但由于你必须召唤一个子shell并且你必须阅读并将其输出与1
进行比较,效率会降低。
if [ "`echo "$sub <= $s" | bc`" = 1 ]; then
echo "red"
else
echo "green"
fi