您的位置:首页 > 运维架构 > Shell

shell脚本中如何处理浮点运算

2016-12-16 11:35 281 查看
bash中不能处理浮点运算

let只能处理整数运算

要想处理浮点运算,可以借助bc 或者 awk

#!/bin/bash
num="0.5"
num1="6"

#sacle用于控制小数点后出现的位数
tmp=$(echo "scale=2;$num1/($num*2.5+1)" | bc)
echo $tmp

tmp2=$(awk -v n=$num -v n1=$num1 'BEGIN{ print n1/(n*2.5+1)}')
echo $tmp2


结果显示



使用awk时,需要注意如何将外部参数传入awk里,这里我是用-v选项来传入,每个-v 对应一个参数,不能一个-v对应多个参数。还有一些其他方式可以参考下面的链接:

http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=30572348&id=5572642
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: