Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2874793
  • 博文数量: 200
  • 博客积分: 2413
  • 博客等级: 大尉
  • 技术积分: 3067
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-01 22:07
文章分类

全部博文(200)

文章存档

2018年(2)

2017年(8)

2016年(35)

2015年(14)

2014年(20)

2013年(24)

2012年(53)

2011年(44)

分类: LINUX

2016-11-29 10:37:47


shell中的小数运算


最近在做MySQL性能指标监控,通过shell脚本计算innodb buffer pool的命中率。

编写脚本时,遇到了bash小数计算的瓶颈。

网上查找,发现bash不支持小数运算,小于0的结果输出都为0。

# 不支持小数预算

a=$[1+0.2]

-bash: 1+0.2: syntax error: invalid arithmetic operator (error token is ".2")

#小于0的结果输出都为0

# a=$[779063181/9968741715*100]

# echo $a

0

 

解决办法:使用bc进行浮点预算。

其中,scale表示小数点后面有3位

# a=`echo "scale=2;779063181/9968741715"|bc`

# echo $a

.07

 


阅读(4147) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~