Shell學習【test命令】

13545163656發表於2019-04-10

Shell test 命令

         test命令主要用於檢查條件是否成立,可用於數字判斷、字元判斷、檔案判斷;也可以用自己常用的檢查命令。


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的縮寫)


test字元演示

#!/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 字串 字串的長度不為零則為真


test檔案演示

#!/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



檔案判斷符【test】

引數 說明
-e 檔名 如果檔案存在則為真
-r 檔名 如果檔案存在且可讀則為真
-w 檔名 如果檔案存在且可寫則為真
-x 檔名 如果檔案存在且可執行則為真
-s 檔名 如果檔案存在且至少有一個字元則為真
-d 檔名 如果檔案存在且為目錄則為真
-f 檔名 如果檔案存在且為普通檔案則為真



注: 與( -a )、或( -o )、非( ! )三個邏輯運算子用於將測試條件連線起來,其優先順序為:"!"最高,"-a"次之,"-o"最低。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31441024/viewspace-2640721/,如需轉載,請註明出處,否則將追究法律責任。

相關文章