shell编程(二)运算符

时间:2022-06-24 20:11:59
hell中的运算符可以实现变量的赋值、算术运算、测试、比较等功能,运算符是构成表达式的基础。

变量赋值:shell中使用“=”进行变量赋值,也可以用等号来改变或初值化一个变量的值。在进行赋值时不用考虑变量的数据类型,这是shell中变量数据类型的特点决定的。

算术运算符:是可以在程序中实现加、减、乘、除等数学运算的运算符。Shell中常用的数学运算符如下所示。
+:对两个变量做加法。
-:对两个变量做减法。
*:对两个变量做乘法。
/:对两个变量做除法。
**:对两个变量做幂运算。
%:取模运算,第一个变量除以第二个变量求余数。
+=:加等于,在自身基础上加第二个变量。
-=:减等于,在第一个变量的基础上减去第二个变量。
*=:乘等于,在第一个变量的基础上乘以第二个变量。
/=:除等于,在第一个变量的基础上除以第二个变量。 %=:取模赋值,第一个变量对第二个变量取模运算,再赋值给第一个变量。

注意,shell变量默认是字符串,如果要进行数学运算,需要使用中括号把表达式括起来,并在左中括号前加上$。

例子:

01 #!/bin/bash
02 #4.3.sh
03 s=0 #定义一个求和变量,初值为0。
04 t=`expr $1**$2`#用expr改变运算顺序,求x的y次方。
05 t=$[t*3] #t乘以3。
06 s=$[s+t] #结果相加。
07 t=$[$1**2] #求x的平方。
08 t=$[t*4] #结果乘以4。
09 s=$[s+t] #结果相加。
10 t=`expr $2*5`#求5y的值。
11 s=$[s+t] #结果相加。
12 s=$[s+6] #结果加上6。
13 echo $s #输出结果。