shell指令碼判斷

2021-05-22 05:06:17 字數 686 閱讀 7900

1.test測試命令

test命令用於檢查某個條件是否成立,它可以進行數值、字元和檔案三個方面的測試,其測試符和相應的功能分別如下:

(1)數值測試:

-eq:等於則為真

-ne:不等於則為真

-gt:大於則為真

-ge:大於等於則為真

-lt:小於則為真

-le:小於等於則為真

(2)字串測試:

=:等於則為真

!=:不相等則為真

-z 字串:字串長度偽則為真

-n 字串:字串長度不偽則為真

(3)檔案測試:

-e 檔名:如果檔案存在則為真

-r 檔名:如果檔案存在且可讀則為真

-w 檔名:如果檔案存在且可寫則為真

-x 檔名:如果檔案存在且可執行則為真

-s 檔名:如果檔案存在且至少有乙個字元則為真

-d 檔名:如果檔案存在且為目錄則為真

-f 檔名:如果檔案存在且為普通檔案則為真

-c 檔名:如果檔案存在且為字元型特殊檔案則為真

-b 檔名:如果檔案存在且為塊特殊檔案則為真

另外,linux還提供了與(「!」)、或(「-o)、非(「-a」)三個邏輯操作符用於將測試條件連線起來,其優先順序為:「!」最高,「-a」次之,「-o」最低。同時,bash也能完成簡單的算術運算,格式如下

shell 指令碼之if判斷

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

shell指令碼各種判斷

1.字串的判斷 str1 str2 當兩個串有相同內容 長度時為真 str1 str2 當串str1和str2不等時為真 n str1 當串的長度大於0時為真 串非空 z str1 當串的長度為0時為真 空串 str1 當串str1為非空時為真 2.數字的判斷 int1 eq int2 兩數相等為真...

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