在Linux Shell中进行数学运算,通常可以使用的运算符有:
- 简单运算:
- let
- []
- (())
- 高级运算:
- expr
- bc
1、let命令
let命令
是bash内置命令,可以实现简单的算术以及逻辑运算,通过help let
命令,可以查询到let命令
的具体使用方法。
使用方法:
#!/bin/sh
i=10
echo $i
let i=i+10 #20
echo $i
let "i=i+100" #120
echo $i
2、[]
[]相当于let命令
,其用法如下:
#!/bin/sh
i=10
echo $i
i=$[i+10] #20
echo $i
i=$[i+100] #120
echo $i
3、(())
(())等价于[],其具体用法如下:
#!/bin/sh
i=10
echo $i
i=$((i+10)) #20
echo $i
i=$((i+100)) #120
echo $i
4、expr
expr
同样可以用来进行基本的算术运算。
注意:变量与运算符之间必须使用空格作为分隔符。
具体用法如下:
#!/bin/sh
i=10
echo $i
i=`expr $i + 10` #20
echo $i
i=`expr $i + 100` #120
echo $i
若是在变量与运算符之间没有空格,代码如下所示:
#!/bin/sh
i=10
echo $i
i=`expr $i+10` #10+10
echo $i
i=`expr $i+100` #10+10+100
echo $i
最终输出的是:
10
10+10
10+10+100
5、bc
若要在计算的过程中控制计算的精度,就得使用到bc
命令。bc
命令是一个支持精确的浮点运算的高级计算器,支持数学函数调用。
对于如下的计算:
#!/bin/sh
i=10
echo $i
j=3;
echo $j
m=`expr $i / $j` #3
echo $m
n=`echo "scale=9; $i / $j" | bc` #3.333333333
echo $n