1、算數運算符
算數運算符主要是加、減、乘、除、余、冪等常見的算術運算,以及加等、減等、乘等、除等、余等復合算術運算。
注意:Shell只支持整數運算,小數部分會舍去。一般情況下算術運行需要個let命令一起來使用。注意除法運算,除數不能為0。
比如:?
#常規運算符
let 1+9?
let 20-10
let 2*5
let 9/3
let 10%4
let 2**3
#符合運算符
x=8 x+=2 變量結果為 10,其余用法類似
2、位運算符
位運算是基于內存中二進制數據的運算,也就是基于位的運算。常見的位運算有左移運算、右移運算、按位與、按位或、按位非、按位異或等運算。
位元素的左移右移其實就是整數內存中的左右移動。左移<<,右移>>.
比如十進制4在內存中排列如下:00000100
用法:
let "value=4<<2"
echo ${value}
輸出:16
let "value=4>>2"
echo ${value}
輸出:1
按位與運算(&)是將兩個整數寫出二進制形式,然后同位置相比較,只有對于位置的二進制值都為1結果才是1,否則0.比如:8&4
00000100 #4
00001000 #8
00000000 #8&4結果 0
按位或運算(|),將兩個整數寫出二進制形式,然后同位置相比較,只要對應的位置有1則結果就為1。比如:8|4
00000100 #4
00001000 #8
00001100 #8|4結果12
按異或運算將兩個整數寫出二進制形式,只要對應的位置同為1或者同為1結果就是0,否則為1。比如:10^3 來說
00001010 #10
00000011 #3
00001001 #10^3 結果 9
按位非(~)有快捷的公式進行計算 ~a 值位"-(a+1)"
比如:let "value=~8"
echo ${value}
-9