Linux學習筆記 31 數值運算的方法

2021-08-07 17:22:55 字數 1506 閱讀 8572

上節的declare命令其實就可以進行數值運算,只要在要做數值運算的的結果變數前面加declare -i就可以。但這種方式不算方便,本節學期其它的方式進行數值運算。

常見算數運算

運算子加法+減法

-除法/乘法

*取餘數%

*算數運算

[root@bogon ~]# aa=11

[root@bogon ~]# bb=22

[root@bogon ~]# cc=$(expr $aa + $bb)

[root@bogon ~]# echo $cc

33

*求字串長度

[root@bogon ~]# aa="1234567"

[root@bogon ~]# declare -i cc=$(expr length $aa)

[root@bogon ~]# echo $cc

7

*取子串(下標從1開始)

[root@bogon ~]# aa="1234567"

[root@bogon ~]# cc=$(expr substr $aa35)

[root@bogon ~]# echo $cc

34567

[root@bogon ~]# cc=$(expr substr $aa32)

[root@bogon ~]# echo $cc

34

注意expr表示式中運算子兩邊必須有空格。

*算數運算

[root@bogon ~]# aa=11

[root@bogon ~]# bb=22

[root@bogon ~]# let cc=$+$

[root@bogon ~]# echo $cc

33

let和expr都不支援對小數的運算,expr還能支援對字串的某些操作,對於整形數值運算,let的速度一般優於expr。

*dollar雙小括號(推薦)

$((表示式))
如:

[root@bogon ~]# aa=11

[root@bogon ~]# bb=22

[root@bogon ~]# cc=$(($aa+$bb))

[root@bogon ~]# echo $cc

33

*dollar中括號(不推薦)

$[表示式]
如:

Linux 數值運算

因為shell指令碼是屬於弱語言,沒有變數型別的概念,所以定義變數會預設為字串。就算看上去是乙個數字,當直接進行計算時,就會出錯 x 1 echo x 1 輸出1 1,並不是自己想要的2所以當我們需要進行數值運算時,我們需要一些特殊的方法,在linex中提供了好幾種方法。x 1 echo x 1 e...

Shell學習 數值運算

在bash shell中,可以利用let 執行基本的算術操作,在高階操作時,使用expr和bc兩個工具 1 let root client02 no1 4 root client02 no2 5 root client02 let result no1 no2 root client02 echo ...

a03 Python基本運算子(3 1)學習筆記

簡單的回答可以使用表示式4 5等於9,在這裡4和5被稱為運算元,被稱為操符。python語言支援操作者有以下幾種型別。算術運算子 比較 即關係 運算子 賦值運算子 邏輯運算子 位運算子 會員操作符 標識操作符 讓我們逐一看看所有的運算子。假設變數a持有10和變數b持有20,則 試試下面的例子就明白了...