Shell编程——Shell中的数学运算

时间:2023-02-26 16:14:59

在Linux Shell中进行数学运算,通常可以使用的运算符有:

  • 简单运算:
    • let
    • []
    • (())
  • 高级运算:
    • expr
    • bc

1、let命令

let命令是bash内置命令,可以实现简单的算术以及逻辑运算,通过help let命令,可以查询到let命令的具体使用方法。

Shell编程——Shell中的数学运算

使用方法:

#!/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