shell数学运算
in SHELL脚本攻略笔记 with 0 comment
shell数学运算
in SHELL脚本攻略笔记 with 0 comment

基本的算数操作,使用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  #计算平方
The article has been posted for too long and comments have been automatically closed.