test命令主要用于檢查條件是否成立,可用于數字判斷、字符判斷、文件判斷;也可以用自己常用的檢查命令。
#!/bin/bash echo "Hello World !" num1=10 num2=10 #常規的判斷 if [ ${num1} -eq ${num2} ] then echo '兩個數相等!' else echo '兩個數不相等!' fi #test常規的判斷 if test $[num1] -eq $[num2] then echo '兩個數相等!' else echo '兩個數不相等!' fi
參數 | 說明 |
---|---|
-eq | 等于則為真 (equal的縮寫) |
-ne | 不等于則為真 (not equal的縮寫) |
-gt | 大于則為真 (greater than的縮寫) |
-ge | 大于等于則為真 (greater&equal的縮寫) |
-lt | 小于則為真 (lower than的縮寫) |
-le | 小于等于則為真 (lower&equal的縮寫) |
#!/bin/bash num1="aaaa" num2="bbbb" #常規判斷 if [ ${num1} = ${num2} ] then echo '字符相等!' else echo '字符不相等!' fi #test判斷 if test $num1 = $num2 then echo '字符相等!' else echo '字符不相等!' fi
參數 | 說明 |
---|---|
= | 等于則為真 |
!= | 不相等則為真 |
-z 字符串 | 字符串的長度為零則為真 |
-n 字符串 | 字符串的長度不為零則為真 |
#!/bin/bash #常規文件是否存在 if [ ! -d $BAK_DIR ];then mkdir -p $BAK_DIR fi #test判斷文件 if test -e ${BAK_DIR} then echo '文件存在!' else echo '文件不存在!' fi #與( -a )、或( -o )、非( ! )三個邏輯操作符用于將 if test -e ${BAK_DIR} -o -e ${BAK_DIR1} then echo '存在至少一個文件!' else echo '不存在文件!' fi
參數 | 說明 |
---|---|
-e 文件名 | 如果文件存在則為真 |
-r 文件名 | 如果文件存在且可讀則為真 |
-w 文件名 | 如果文件存在且可寫則為真 |
-x 文件名 | 如果文件存在且可執行則為真 |
-s 文件名 | 如果文件存在且至少有一個字符則為真 |
-d 文件名 | 如果文件存在且為目錄則為真 |
-f 文件名 | 如果文件存在且為普通文件則為真 |
注: 與( -a )、或( -o )、非( ! )三個邏輯操作符用于將測試條件連接起來,其優先級為:"!"最高,"-a"次之,"-o"最低。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。