shell程式設計(二)運算子

loophome發表於2015-10-16
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 #輸出結果。

相關文章