在shell腳本中,沒法對浮點數進行比較,如:
max=0.1
min=0.01
if [ "$max" -gt "$min" ]
then
echo "YES"
else
echo "NO"
fi
這樣的比較,運行後獲得錯誤:
line 4: [: 0.1: integer expression expected
由於bc和awk都支持浮點數,能夠使用bc進行處理:
max=0.1
min=0.01
if [ `echo "$max > $min" | bc` -eq 1 ]
then
echo "YES"
else
echo "NO"
fi
也能夠寫成if [ $(echo "$max < $min"|bc) -eq 1 ]