SHELL腳本中運算符、邏輯運算以及用法

一、算數運算

1. bash中的算術運算:

可用help let查看幫助

常見的算數運算符:

+(加), -(減), *(乘), /(除), %取模(取餘), **(乘方)

實現算術運算:

① let var=算術表達式

 圖片1.png

 圖片1.png

 圖片1.png

 圖片1.png

注:let運算只保留整數位

 圖片1.png

 圖片1.png

② var=$[算術表達式]

圖片1.png 

其餘算數表達式同理

③ var=$((算術表達式))

圖片1.png 

其餘算數表達式同理

④  var=$(expr arg1 arg2 arg3 ...)

圖片1.png 

其餘算數表達式同理

⑤ declare –i var = 數值

圖片1.png 

其餘算數表達式同理

⑥ echo ‘算術表達式’ | bc

圖片1.png 

其餘算數表達式同理

2. 乘法符號有些場景中需要轉義,如*

圖片1.png 

3. bash有內建的隨機數生成器:$RANDOM0-32767

例如:取出0-49之間的隨機數

 圖片1.png

二、賦值運算

1. 增強型賦值:

① +=

圖片1.png 

② -=

圖片1.png 

③ *=

圖片1.png 

④ /=

圖片1.png 

⑤ %=

圖片1.png 

2. 自增,自減:

① ++

圖片1.png 

② --

圖片1.png 

三、邏輯運算

1. true, false

測試命令:

 test EXPRESSION

 [ EXPRESSION ]

[[ EXPRESSION ]]

注意:EXPRESSION前後必須有空白字符

返回結果:

1true0false

2. 與(&

1 1 = 1

1 0 = 0

0 1 = 0

0 0 = 0

例如:1224

12轉換成二進制:01100

24轉換成二進制:11000

與的結果是:01000

轉換成十進制是:8

圖片1.png 

3. 或(|

1 1 = 1

1 0 = 1

0 1 = 1

0 0 = 0

依然是上例,1224

12轉換成二進制:01100

24轉換成二進制:11000

或的結果是:11100

轉換成十進制是:28

圖片1.png 

4. 非(!)

! 1 = 0 ! true

! 0 = 1 ! false

5. 短路運算

① 短路與(&&

第一個爲0,結果必定爲0即:

命令1 && 命令2

命令1爲假,不執行命令2

圖片1.png 

第一個爲1,第二個必須要參與運算

命令1 && 命令2

命令1爲真,執行命令2

圖片1.png 

② 短路或(||

第一個爲1,結果必定爲1

命令1 || 命令2

命令1爲真,不執行命令2

圖片1.png 

第一個爲0,第二個必須要參與運算

命令1 || 命令2

命令1爲假,執行命令2

圖片1.png 

6. 異或(^

異或的兩個值,相同爲假0,不同爲真1

例如:12異或24

12轉換成二進制:01100

24轉換成二進制:11000

12異或的結果:10100

轉換成十進制是:20

圖片1.png 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章