bash 中計算浮點數

在bash中,現況是不支持浮點數的運算,所以1/2會等於0,3/2會等於1(都取商)
> [root@localhost]# echo $((1/2))
0
[root@localhost]# echo $((3/2))
1

如果可以安裝bc的話,那把運算式轉到bc中,就可以正確的完成計算,如果沒有辦法的話,可以用awk來計算
> [root@localhost]# awk 'BEGIN {print 1/2}'
0.5


如果寫在script中,想要使用變數,可以透過-v參數,把變數帶入,如下示例
> [root@localhost]# i=2; awk -v i=$i 'BEGIN {print 1/i}'
0.5

留言

熱門文章