shell中实现浮点数运算

bc的简单用法

bc是Linux内置中的计算器,能够处理浮点数的计算,看下面的应用例子。

[root@node2 ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty’.
3*5
15
3.5/6
0
scale=4
3.5/6
.5833
quit
[root@node2 ~]#
浮点运算是由一个内建的成为scale的变量控制的,默认是0。可以从上面的例子看出,当不声明scale时,3.5/6的输出是0,当声明scale=4时,3.5/6的输出时0.5833


bc在脚本中的运用

当在脚本中要处理浮点数计算时,就可以使用bc计算器,先看下面的例子

[root@node2 tmp]# cat bc.sh
#!/bin/bash
num1=echo "scale=3; 4.3/7" | bc
echo $num1
[root@node2 tmp]# ./bc.sh
.614
当碰到较短的运算时,就可以使用这种方法
variable=echo "options; expression" | bc

但是如果你计算较为复杂的话,在同一个命令中一次性列出多个
表达式会比较麻烦。这时,就可以bc命令的输入重定向了。
使用内联输入重定向:
variable=bc << EOF
options
statements
expressions
EOF

先看看下面的例子
[root@node2 tmp]# cat bc.sh
#!/bin/bash
#
num1=14.5
num2=5
num3=32.4
num4=bc << EOF
scale=4
a=($num1 / $num2)
b=($num3 / $num2)
a + b
EOF

echo $num4
[root@node2 tmp]# ./bc.sh
9.3800
要注意的是在bash计算器中创建的变量a和b在shell脚本中是不能使用的。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值