在bash脚本中进行浮点运算

ZhaiDongPlus posted @ 2007年10月17日 00:41 in Shell Script , 7759 阅读

bash本身不具备浮点运算功能,最近在看《Advanced Bash-Scripting Guide》,里面介绍了一种使用bc来实现bash浮点运算的方法。bc是一个高精度的计算器,gentoo用户可以使用emerge bc来安装。在脚本中使用bc的基本格式如下:

variable=$(echo "OPTIONS; OPERATIONS" | bc)
下面是几个例子:

  1. #! /bin/bash
  2.  
  3. a=1.2
  4. b=1.3
  5. c=$(echo "$a+$b"|bc)    #加法运算
  6. d=$(echo "$a*$b"|bc)    #乘积运算
  7. e=$(echo "scale=5;$a/$b"|bc)    #除法运算,scale=5为指定小数位数为5
  8. echo "$c $d $e"
  9.  
  10. echo "s(1)"|bc -l    #计算sin(1),-l选项为调用数学库
  11.  
  12. #计算0.5+0.5^2+...+0.5^5
  13. s=0
  14. for i in 1 2 3 4 5
  15. do
  16.     s=$(echo "$s+0.5^$i"|bc -l)
  17. done
  18. echo $s
有关bc的使用及语法请参见man bc。

  • 无匹配
  • 无匹配

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter