Linux筆記25 Bash的運算子

2021-10-06 03:34:56 字數 2131 閱讀 8980

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...