shell中常用的算術運算子如下所示。
+:對兩個變數做加法。
-:對兩個變數做減法。
*:對兩個變數做乘法。
/:對兩個變數做除法。
**:對兩個變數做冪運算。
%:取模運算,第乙個變數除以第二個變數求餘數。
+=:加等於,在自身基礎上加第二個變數。
-=:減等於,在第乙個變數的基礎上減去第二個變數。
*=:乘等於,在第乙個變數的基礎上乘以第二個變數。
/=:除等於,在第乙個變數的基礎上除以第二個變數。
%=:取模賦值,第乙個變數對第二個變數取模運算,再賦值給第乙個變數。
在shell的算術運算中有以下幾種方法:
名稱 語法 範例
算術擴充套件 變數=$((算術表示式)) r=$((1+2*3))
使用外部程式expr 變數=`expr 算術表示式` r=`expr 1+2*3`
使用[ ] 變數=$[算術表示式] r=$[1+2]
使用內建命令declare declare -i 變數=算術表示式 declare -i r=1+2*3
使用內建命令let let 算術表示式 let r=1+2
注意事項:
用expr表示後面的表示式為乙個數**算。需要注意的是,`並不是乙個單引號,而是「tab」鍵上面的那個符號,表示式和運算子之間要有空格,例如 2+2 是不對的,必須寫成 2 + 2。
用let表示後面的表示式為乙個數**算。表示式中的變數前不必有$.如果表示式中包含了空格或其他特殊字元,則必須引起來。
例:let 「i = i + 1」 或 let i=i+1
用let表示後面的表示式為乙個數**算。表示式中的變數前不必有$.如果表示式中包含了空格或其他特殊字元,則必須引起來。例:let 「i = i + 1」 或 let i=i+1
數**算例項:
t=`expr$1**$2` #用expr改變運算順序,求x的y次方。
t=$[t*3] #t乘以3。
s=$[s+t] #結果相加。
t=$[$1**2] #求x的平方。
t=$[t*4] #結果乘以4。
s=$[s+t] #結果相加。
t=`expr$2*5` #求5y的值。
s=$[s+t] #結果相加。
s=$[s+6] #結果加上6。
echo$s #輸出結果。
shell 算術運算子
下表列出了常用的算術運算子,假定變數 a 為 10,變數 b 為 20 運算子說明舉例 加法 expr a b 結果為 30。減法 expr a b 結果為 10。乘法 expr a b 結果為 200。除法 expr b a 結果為 2。取餘 expr b a 結果為 0。賦值 a b 將把變數 ...
shell 指令碼程式設計之算術運算子
shell 的算術運算子只支援整數,浮點數的運算結果會被轉換成整數。算術運算子包括 冪運算 位左移 位右移 按位與 按位或 按位異或 按位非 使用 let expression 的方式將運算的結果儲存到變數中,如果直接寫var var1 var2這種賦值方式,則得到的結果是字串。ljx localh...
shell 如何使用算術運算子
下表列出了常用的算術運算子,假定變數 one 為 1,變數 two 為 2 運算子說明舉例 加法 expr one two 結果為 3。減法 expr one two 結果為 1。乘法 expr one two 結果為 2。除法 expr two one 結果為 2。取餘 expr two one ...