今天我试图比较两个值,并对我所看到的结果感到惊讶。我在任何地方都没有找到任何好的建议。有人可以帮忙吗?
if [ 10.94 -gt 10 ]
then
echo True
else
echo False
fi
我很惊讶结果是错误的。
然后我尝试了以下方法。
if [[ 10.94 > 10 ]]
结果为真。我对此很好。
我的脚本在特定条件下再次出现缺陷,如下所示
if [[ 5.15 > 10 ]]
echo True
fi
这里的结果是 True。
怎么会?有没有更好的想法,可以以正确的方式比较十进制值?
答案1
echo | awk '{if (10.1 > 10.0) {print "True"} else {print "False"} }'
True
if [ $(echo "10.12 < 10.13"|bc -l) -eq 1 ];then echo "True"; else echo "False"; fi
True