shell数学运算


基本的算数操作,使用let、(())、[]和expr、bc进行

let简单用法

no1=1;
no2=2;
let sum=no1+no2
echo $sum
3

let自加自减操作:

let no++ 或者 let no+=6(自加6,等同let no=no+6)
let no-- 或者 let no-=6(自减6,等同let no=no-6)

[]用法

no=$[ no1 + no2]

[]中也可以使用$

no=$[ $no1 + 5 ]

(())用法

no=$(( no1 + no2 ))

需要注意的是使用(())必须要在变量之前加上$

expr用法

no='expr 3 + 4'
no=$(expr $no1 + 5)

总结:上述几个方法只能用于整数运算,不能用于浮点数。


bc用法

echo "4 * 0.56" | bc
2.24
no=54;
result=`echo "$no * 1.5" | bc`
echo $result
81.0

设定小数精度

echo "scale=2;3/8" | bc
0.37
scale=2;将精度设置为2个小数点

进制转换

十进制转二进制

no=100
echo "obase=2;$no" | bc
1100100

二进制转十进制

no=1100100
echo "obase=10;ibase=2;$no" | bc
100

计算平方以及平方根

echo "sqrt(100)" | bc #Square root #计算平方根
echo "10^10" | bc #Square  #计算平方

声明:Ethan's Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - shell数学运算


I love you more than I can say. I love you heart and soul. Why must I love you so much?