上節的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,則 試試下面的例子就明白了...