shell 算術計算

2021-09-07 23:48:51 字數 975 閱讀 4883

摘自 shell 13問

好了,最後為大家介紹  $(( )) 的用途吧:它是用來作整數運算 的。

在 bash 中,$(( )) 的整數運算符號大致有這些:

+ - * / :分別為 "加、減、乘、除"。

% :餘數運算

& | ^ !:分別為 "and、or、xor、not" 運算。

~ # a=1

~ # b=2

~ # echo $((a+b))

3 ~ # echo $(($a+$b))

3~ # echo $((a-b))

-1 ~ # echo $((a/b))

0 ~ # echo $((a*b))

2~ # echo $((a%b))

1~ # a=1

~ # b=3

~ # echo $((a&b))

1 ~ # echo $((a|b))

3 ~ # echo $((a^b))

2 ~ # echo $((!b))

0 ~ # echo $((!a))

0例:

[code]$ a=5; b=7; c=2

$ echo $(( a+b*c ))

19 $ echo $(( (a+b)/c ))

6 $ echo $(( (a*b)%c))

1[/code]

在 $(( )) 中的變數名稱,可於其前面加 $ 符號來替換,也可以不用(busybox中也可以支援),如:

$(( $a + $b * $c)) 也可得到 19 的結果

此外,$(( )) 還可作不同進製(如二進位制、八進位、十六進製制)作運算呢,只是,輸出結果皆為十進位制而已(busybox不支援):

echo $((16#2a)) 結果為 42 (16進製轉十進位制)

Shell中的算術運算

當使用let時,變數名之前不能再新增 用法 var1 2 var2 3 let result var1 var2 echo result 除此之外,我們還可以使用 let 來進行自加自減操作 let var 使用let進行自加 let var 使用let進行自減 簡寫let no 6 let no ...

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指令碼中的算術運算

本文將介紹6種shell指令碼中算術運算的方法,各有優缺點,當然了,最常用的就那兩種,我會特別指出。6種算術運算方法是 let operation expr operation operation operation 用awk 做算術運算 echo operation bc let no1 let ...