今天我試著比較兩個值,並對我所看到的結果感到驚訝。我在任何地方都沒有找到任何好的建議。有人可以幫忙嗎?
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