Bash 支持很多運算符唉铜,其中包括:算數(shù)運算符玖院、關(guān)系運算符菠红、邏輯運算符和字符串運算符。
1.算數(shù)運算符
+?表示“加”
-?表示“減”
*?表示“乘”难菌,linux里*是模糊匹配试溯,在雙引號需要用/?轉(zhuǎn)譯
?/??表示“除”
%?表示“取余”,
=?表示“賦值?”
==??表示“等號?”郊酒,判斷兩個數(shù)字是否相等遇绞,相等則返回true
?!=?表示“不等?”,判斷兩個數(shù)字是否相等燎窘,不相等則返回true
?注意:
1)expr可計算數(shù)字表達(dá)式摹闽,如expr?$a?+$b
2)?表達(dá)式里,運算符左右兩側(cè)需要空格
3)``可執(zhí)行表達(dá)式褐健,?并返回計算結(jié)果?(在ESC鍵下面)
2.關(guān)系運算符
上一篇提到雙方括號付鹿,當(dāng)然我們也見到較多的方括號,?圓括號蚜迅;它們在使用上區(qū)別如下?:
[]??? ? ? ? ? ?[[]]或(())? ? ? ? ? ? ? ? ? ? 注意
-lt? ? ? ? ? ? ? ? <? ? ? ? ? ? ? ? ? ? ? ? ? ?使用<前面需要加/進(jìn)行轉(zhuǎn)譯?
-le? ? ? ? ? ???<=
-gt? ? ? ? ? ???>? ? ? ? ? ? ? ? ? ? ? ? ? ? 使用>前面需要加/進(jìn)行轉(zhuǎn)譯
-ge? ? ? ? ? ?>=
-eq? ? ? ? ? ?==
-nq? ? ? ? ? ?!=
3舵匾、邏輯運算符
我們熟知的包括與、或谁不、非坐梯;
[]?? ? ? ? ? ?[[]]或(())? ? ? ? ? ? ? ? ?注意
-a? ? ? ? ? ? ? ? ? ?&&? ? ? ? ? ? ? ?使用<前面需要加/進(jìn)行轉(zhuǎn)譯
-o? ? ? ? ? ? ? ? ? ? II
!? ? ? ? ? ? ? ? ? ? ? !? ? ? ? ? ? ? ? ? 使用>前面需要加/進(jìn)行轉(zhuǎn)譯
4、字符串運算符
=? ?檢測兩個字符串是否相等刹帕,相等則返回true
?!=? 檢測兩個字符串是否相等吵血,不相等則返回true
-z? 檢測字符串長度是否為0谎替,為0則返回true
-n 檢測字符串長度是否為0,不為0則返回true
str 檢測字符串是否為null蹋辅,不為null則返回true
5钱贯、小結(jié)
?算術(shù)運算符、關(guān)系運算符只支持?jǐn)?shù)字晕翠;字符串運算符只支持字符喷舀;邏輯運算符則支持多個表達(dá)式的比較?砍濒。