shell 执行数学运算

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

  1. #! /bin/bash

  2. a=1.2

  3. b=1.3

  4. c=$(echo "$a+$b"|bc) #加法运算

  5. d=$(echo "$a*$b"|bc) #乘积运算

  6. e=$(echo "scale=5;$a/$b"|bc) #除法运算,scale=5为指定小数位数为5位

  7. echo "$c $d $e"

  8. echo "s(1)"|bc -l #计算sin(1),-l选项为调用数学库

  9. #计算0.5+0.5^2+...+0.5^5

  10. s=0

  11. for i in 1 2 3 4 5

  12. do

  13. s=$(echo "$s+0.5^$i"|bc -l)

  14. done

  15. echo $s

有关bc的使用及语法请参见man bc。

$[ ] 和 $(())
两种格式功能一样,所有的 shell 的求值都是用整数完成
$[ ] 可以接受不同基数的数字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无才顽石

如果文章对你有用,请我喝瓶水吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值