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