判斷命令test一般用於指令碼當中,可以簡寫為中括號[ ]。其會對跟隨的條件進行判斷,一般可以分為數值判斷、字串判斷和檔案判斷。語法格式為test [判斷條件]或[ 判斷條件 ],注意中括號[ ]與判斷條件之間必須存在空格,還需注意判斷條件的判斷符號與比較值之間也需要存在空格。
如果是test單獨使用,如果判斷條件為真,那麼echo $?會返回0,判斷條件為假返回1。
(2)字串判斷
判斷符號
說明範例
=相等則為真
[ $a = $b ]
!=不等則為真
[ $a != $b ]
-z字串長度為0則為真
[ -z $a ]
-n字串長度不為0則為真
[ -n $n ]
str1 > str2
字串1大於字串2則為真
[ str1 > str2 ]
str1 < str2
字串1小於字串2則為真
[ str1 < str2 ]
操作例項如下:
[root@youxi1 ~]
# vim a.sh
#!/bin/bash
read -p "請輸入第乙個字串:" str1
read -p "請輸入第二個字串:" str2if[
$str1
=$str2];
then
echo
"兩個字串相同"
elif
[ -n $str1]&&
[ -n $str2];
then
echo
"兩個字串非空"
fi[root@youxi1 ~]
# sh a.sh
請輸入第乙個字串:aaa
請輸入第二個字串:bbb
兩個字串非空
操作例項2:在做字串大小比較時,需要注意一下幾點:1.字串的順序,大於和小於的順序和sort排序是不一樣的;2.大於號和小於號必須轉義,要不然會被shell當做重定向符號;3.在test比較測試中,使用的是ascii表,大寫字母小於小寫字母
[root@youxi1 ~]
# vim a.sh
#!/bin/bash
read -p "請輸入第乙個字串:" str1
read -p "請輸入第二個字串:" str2if[
$str1 \>
$str2];
then
echo
"第乙個字串大於第二個字串"
else
echo
"第乙個字串小於第二個字串"
fi[root@youxi1 ~]
# sh a.sh //證明比較的不是總和
請輸入第乙個字串:ab
請輸入第二個字串:ba
第乙個字串小於第二個字串
[root@youxi1 ~]
# sh a.sh //以下兩個比較證明,是逐字比較
請輸入第乙個字串:aa
請輸入第二個字串:ab
第乙個字串小於第二個字串
[root@youxi1 ~]
# sh a.sh
請輸入第乙個字串:aa
請輸入第二個字串:ba
第乙個字串小於第二個字串
linux的判斷命令test之數值判斷
判斷命令test一般用於指令碼當中,可以簡寫為中括號 其會對跟隨的條件進行判斷,一般可以分為數值判斷 字串判斷和檔案判斷。語法格式為test 判斷條件 或 判斷條件 注意中括號 與判斷條件之間必須存在空格,還需注意判斷條件的判斷符號與比較值之間也需要存在空格。如果是test單獨使用,如果判斷條件為真...
linux中test命令詳解
測試標誌 代表意義 檔名 檔案型別 e該檔名是否存在 f該檔名是否存在且為file d該檔名是否存在且為目錄 b該檔名是否存在且為乙個block c該檔名是否存在且為乙個character device裝置 s該檔名是否存在且為乙個socket檔案 p該檔名是否存在且為乙個fifo pipe 檔案 ...
Linux系統中test命令
通過help test命令來看一下test命令可以做哪些操作並簡單翻譯一下什麼作用 檔案運算子 a如果檔案存在,則為true。b如果檔案是特殊塊,則為true。c如果檔案是特殊字元,則為真。d如果檔案是目錄,則為true。e如果檔案存在,則為true。f如果檔案存在並且是常規檔案,則為true。g如...