如果要執行運算,那就少不了運算符,和其他的編程語言相似,shell也有很多的運算符如下:
+、-、:代表著加號 和減號 或者,負號
*、/、%:代表著乘號,除號,和取模。
** : 冪運算
++、-- :表示著增加或者減少,它可以放在前置,也可以放在變量的結尾
!、||、&&、(取反)(或) (and)
<、<=、>、>= :比較符號,小于、小于等于、大于、大于等于
==、!=、= :相等,不相等, =表示相等于
<< >> 向左移動 向右移動
等等,這里就不說了 到后面實踐中再見!
Shell編程之算術運算命令
(()) 用于整數之間常用的運算符,效率高
let :用于整數運算,類似于(())
expr :用于整數運算,但是還有其他功能
bc :Linux下的一個計算程序,適合整數及小數運算
$[] :用于整數運算
awk:awk既可以整數運算,也可以小數運算
declare: 定義變量值和屬性,-i參數可以用于定義整形變量,做運算
第一眼看到這些 感覺很復雜,心亂,但是沒有關系,慢慢的就好了~~~
一、雙小括號(()) 數值運算命令
雙小括號的作用是進行數值運算與數值的比較,它的效率很高,用法很靈活,是企業運維人員經常采用的操作符
((e=e+1)) 它的作用就是把e+1的結果賦值給變量e但是不可以用 echo ((e=e+1))來使用,但可以使用echo $((e=e+1))
e=$((e=e+1)) 作用就是把e+1的執行結果賦值給變量e
數值比較
((8>7&&5==5)) 用于數值之前的比較,用于條件判斷
echo $((2+1)) 用于直接輸出運算表達式的結果,在(()) 前面加$符號
案例1:雙小括號"(())"數值運算實踐
[root@shell-yankerp sh]# echo $((1+1)) #計算1+1后輸出 2 #那么結果就是等于2 [root@shell-yankerp sh]#
以此類推使用減號
[root@shell-yankerp sh]# echo $((6-3)) #計算6-3等于多少 3 #結果為3 [root@shell-yankerp sh]#
是不是感覺有點簡單。那么接下來利用"(())"進行稍微復雜的一些綜合算術運算
[root@shell-yankerp sh]# ((a=1+2**3-4%3))
以上例子也就是說,首先a是一個變量名,那么在a=后面的一些計算的結果會賦值給a這個變量,那么首先我們得知道后面的計算結果是多少,在這個變量中 我們用到了+號"**"以及"-"號包括“%”首先計算過程是這樣的。先算乘除,后算加減
2**3 等于 2x2x2=8 乘算出來之后算除。 4%3=1 取模---- 8-1=7 最后1+7=8 最后結果為8 輸出如下:
新聞熱點
疑難解答