"在shell脚本中进行数学运算的方法有很多,比如 (( express )), expr express, let key=express 等,但以上那些方法都不太直观,容易出错,且功能有限。其实只要掌握了 bc 命令即可。除了位运算之外的所有运算都支持。下面就来演示一下各种运算功能。 1. 加减乘 ...."

shell 数学运算

在shell脚本中进行数学运算的方法有很多,比如 (( express )), expr express, let key=express 等,但以上那些方法都不太直观,容易出错,且功能有限。其实只要掌握了 bc 命令即可。除了位运算之外的所有运算都支持。下面就来演示一下各种运算功能。

1. 加减乘除,括号,就跟其他高级语言的算术表达一个样:

echo "2+3=$(echo '2+3' | bc)"
echo "2+3-1=$(echo '2+3-1' | bc)"
echo "(2+3)*2+4/2=$(echo '(2+3)*2+4/2' | bc)"

2.浮点运算,scale=5;设置精度;如果整数部分为0则会被省略掉,下面的输出结果为 ".33333"

number1=1
number2=3
result=$(echo "scale=5;${number1}/${number2}" | bc)

3.进制转换

#十进制转换为十六进制
echo "ibase=10;obase=16;15" | bc

以上运算基本上够用了,如果还需要更复杂的运算,再参考 bc 的使用手册吧。

0     0     0     0     0    
0 回帖