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

时间:2024-01-10 20:23:56

在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