1 數值運算與運算子
出現上面的原因是,linux中的變數預設都是字串型別的。
◆ declare宣告變數型別
[root@localhost ~]# declare [+/-][選項] 變數名
選項:-: 給變數設定型別屬性
+: 取消變數的型別屬性
-i: 將變數宣告為整數型(integer)
-x: 將變數宣告為環境變數
-p: 顯示指定變數的被宣告的型別
擴充套件:將乙個變數宣告為環境變數,使用 export,此時檢視會看到 –x
◆ 數值運算
→ 方法1
[root@localhost ~]# aa=11
[root@localhost ~]# bb=22 #給變數aa和bb賦值
[root@localhost ~]# declare -i cc=$aa+$bb
[root@localhost ~]# aa=11
[root@localhost ~]# bb=22 #給變數aa和變數bb賦值
[root@localhost ~]# dd=$(expr $aa + $bb) #dd的值是aa和bb的和。注意「+」號左右兩側必須有空格
[root@localhost ~]# aa=11
[root@localhost ~]# bb=22
[root@localhost ~]# ff=$(( $aa+$bb ))
[root@localhost ~]# gg=$[ $aa+$bb ]
◆ 運算子
優先順序 運算子 說明
13 -, + 單目負、單目正
12 !, ~ 邏輯非、按位取反或補碼
11 * , / , % 乘、除、取模
10 +, - 加、減
9 << , >> 按位左移、按位右移
8 < =, > =, < , > 小於或等於、大於或等於、小於、大於
7 == , != 等於、不等於
6 & 按位與
5 ^ 按位異或
4 | 按位或
3 && 邏輯與
2 || 邏輯或
賦值、運算且賦值
[root@localhost ~]# aa=$(( (11+3)*3/2 )) #雖然乘和除的優先順序高於加,但是通過小括號可以調整運算優先順序
[root@localhost ~]# bb=$(( 14%3 )) #14不能被3整除,餘數是2
[root@localhost ~]# cc=$(( 1 && 0 )) #邏輯與運算只有想與的兩邊都是1,與的結果才是1,否則與的結果是0
2 變數測試與內容替換
例子1:測試x=$
[root@localhost ~]# unset y #刪除變數y
[root@localhost ~]# x=$ #進行測試
[root@localhost ~]# echo $x
new #因為變數y不存在,所以x=new
[root@localhost ~]# y="" #給變數y賦值為空
[root@localhost ~]# x=$ #進行測試
[root@localhost ~]# y=old #給變數y賦值
[root@localhost ~]# x=$ #進行測試
[root@localhost ~]# echo $x #結果:old
Linux系統運維 Bash 5 1
bash 主要的優點有底下幾個 bash history 記錄的是前一次登陸以前所執行過的命令,而至於這一次登陸所執行的命令都被快取在記憶體中,當你成功的登出系統後,該命令記憶才會記錄到 bash history 當中!alias lm ls al ls l usr bin x bash shell...
linux運維之 bash獲取程序id
平時做linux運維時經常會用到查詢應用程序id,一般情況下會使用ps ef grep,然後在根據現實結果複製出對應的程序id並將其刪除。其實可以使用如下命令直接過濾掉其他所有的資訊值保留進id ps ef grep grep v grep awk 例如 某場景下要殺掉某應用的程序,可以直接使用如下...
Linux運維筆記
總核數 物理cpu個數 x 每顆物理cpu的核數 總邏輯cpu數 物理cpu個數 x 每顆物理cpu的核數 x 超執行緒數 檢視物理cpu個數 cat proc cpuinfo grep physical id sort uniq wc l 檢視每個物理cpu中core的個數 即核數 cat pro...