運算
語法:((運
算式))
、((表示式))、
((表示式)
)、[表示式]
expr a + b:加
expr a - b:減
expr a * b:乘`
expr a / b:除
expr a % b:求餘
a=b:將b的值賦給a
a == b:判斷a是否等於b,返回結果為布林值
a != b:判斷a是否不等於b,返回結果為布林值
注意:shell的字元型數值運算時,運算子與數值間存在空格,否則會被識別為乙個字串,而不是運算。
復合運算
如:# 符號``代替數**算中的()
expr `expr a+b` + c #等同數學中的(a+b)+c
expr `expr a /b` \* c #等同數學中的(a/b)*c
關係運算子#加
expr 1+2
#減expr 1-2
#乘expr 1 \* 2
#復合計算
expr `expr 2 + 3` \* 4
[ judgestatement ]
說明:其中judgestatement代表判斷表示式,前後與間必須均存在空格,判斷的結果以布林值作為返回值顯示。
數值比較
大於(-gt):[ a -ge b],判斷a是否大於b(>)。
小於(-lt):[ a -lt b],判斷a是否小於b(<)。
小於等於(-le):[ a -le b],判斷a是否小於等於b(<=)。
大於等於(-ge):[ a -ge b],判斷a和b是否相等(>=)。
相等(-eq):[ a -eq b],判斷a和b是否相等。
不相等(-ne):[ a -ne b],判斷a和b是否不相等。
如:
布林運算子#這裡$?是根據最後一次執行的命令的返回值判斷是否產生了錯誤。0為正確,其他則為錯誤。
[ 23 -gt 22 ]
echo $? #正確,輸出為0
!:非運算,返回與結果相反的布林值。
如:
-o:或運算,存在乙個為真值的表示式則結果就為真。[ ! false ]
echo $? #結果為ture
[ ! 23 -ge 22 ]
echo $? #結果為false
如:
-a:與運算子,存在乙個為假值的表示式則結果就為假。[ 表示式a -o 表示式b】
即表示式a或b只要存在乙個為真的,則結果為真。
[ 23 -gt 22 -o 1 -gt 2]
如:
[ 1 -ge 2 -a 3 -le 4 ]
Shell關係運算子
shell關係運算子只支援數值或數值型字串。運算子說明 檢測兩邊的值是否相等,若相等則返回true 檢測兩邊的值是否不相等,若不相等則返回true 檢測左邊的值是否大於右邊的值,若大於則返回true 檢測左邊的值是否小於右邊的值,若小於則返回true eq與 運算子作用相同 ne與 運算子作用相同 ...
shell 關係運算子
關係運算子只支援數字,不支援字串,除非字串的值是數字。下表列出了常用的關係運算子,假定變數 a 為 10,變數 b 為 20 運算子說明 舉例 eq 檢測兩個數是否相等,相等返回 true。a eq b 返回 false。ne檢測兩個數是否不相等,不相等返回 true。a ne b 返回 true。...
shell 中關係運算子
關係運算子只支援數字,不支援字串,除非字串的值是數字。運算子說明 舉例 eq 檢測兩個數是否相等,相等返回 true。a eq b 返回 false。ne檢測兩個數是否不相等,不相等返回 true。a ne b 返回 true。gt檢測左邊的數是否大於右邊的,如果是,則返回 true。a gt b ...