转自:http://hi.baidu.com/qi_hao/item/fd01117b021d64356e29f692
bash本身不具备浮点运算功能,最近在看《Advanced Bash-Scripting Guide》,里面介绍了一种使用bc来实现bash浮点运算的方法。bc是一个高精度的计算器,gentoo用户可以使用emerge bc来安装。在脚本中使用bc的基本格式如下:
variable=$(echo "OPTIONS; OPERATIONS" | bc)下面是几个例子:
- #! /bin/bash
- a=1.2
- b=1.3
- c=$(echo "$a+$b"|bc) #加法运算
- d=$(echo "$a*$b"|bc) #乘积运算
- e=$(echo "scale=5;$a/$b"|bc) #除法运算,scale=5为指定小数位数为5位
- echo "$c $d $e"
- echo "s(1)"|bc -l #计算sin(1),-l选项为调用数学库
- #计算0.5+0.5^2+...+0.5^5
- s=0
- for i in 1 2 3 4 5
- do
- s=$(echo "$s+0.5^$i"|bc -l)
- done
- echo $s
有关bc的使用及语法请参见man bc。
转载于:https://blog.51cto.com/chart/1055229