Linux的判斷命令test之字串判斷

2021-10-09 16:11:14 字數 1697 閱讀 3695

判斷命令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如...