shell指令碼各種判斷

2021-09-02 09:25:34 字數 791 閱讀 7645

1.字串的判斷

str1 = str2      當兩個串有相同內容、長度時為真

str1 != str2      當串str1和str2不等時為真

-n str1        當串的長度大於0時為真(串非空)

-z str1        當串的長度為0時為真(空串)

str1         當串str1為非空時為真

2.數字的判斷

int1 -eq int2    兩數相等為真

int1 -ne int2    兩數不等為真

int1 -gt int2    int1大於int2為真

int1 -ge int2    int1大於等於int2為真

int1 -lt int2    int1小於int2為真

int1 -le int2    int1小於等於int2為真

3.檔案的判斷

-r file     使用者可讀為真

-w file     使用者可寫為真

-x file     使用者可執行為真

-f file     檔案為正規檔案為真

-d file     檔案為目錄為真

-c file     檔案為字元特殊檔案為真

-b file     檔案為塊特殊檔案為真

-s file     檔案大小非0時為真

-t file     當檔案描述符(預設為1)指定的裝置為終端時為真

4.複雜邏輯判斷

-a         與

-o        或

!        非

shell指令碼判斷

1.test測試命令 test命令用於檢查某個條件是否成立,它可以進行數值 字元和檔案三個方面的測試,其測試符和相應的功能分別如下 1 數值測試 eq 等於則為真 ne 不等於則為真 gt 大於則為真 ge 大於等於則為真 lt 小於則為真 le 小於等於則為真 2 字串測試 等於則為真 不相等則為...

shell 指令碼之if判斷

bin bash user 1 單條件if的判斷 if user qa then 判斷傳入的使用者名稱是否是qa,如果是就輸出使用者名稱 echo user fi if else 結構 if user test then 判斷傳去的使用者名稱是否是 test,如果是就輸出使用者名稱,如果不是就輸出 ...

shell 指令碼 IP判斷

生成乙個ip.txt檔案 判斷 當ip為192開頭的,顯示這個ip是ok的,當ip為172開頭的,就呼叫iptables drop掉 vim ip.txt 鍵入 192.168.1.1 192.168.1.2 172.129.1.1 172.129.1.2 bin bash 用陣列的方式輸出ip.t...