Shell 條件測試(test)基礎語法

2021-10-07 03:20:28 字數 2042 閱讀 6479

條件測試的語法有兩種

test 條件表示式

[ 條件表示式 ]

注意:中括號「」與條件表示式之間一定要有空格,不然會報錯

字串運算子

運算子說明string

判斷指定的字元是否為空串––

string1=string2

判斷兩個字串string1和string2是否相等––

string1!=string2

判斷兩個字串string1和string2是否不相等––

-n string

判斷string 是否是非空串––

-z string

判斷string 是否是空串

第乙個 單字串 形式 string 只能借助 test 來判斷是否為空串

整數測試的語法有兩種:

test num1 op num2

[ num1 op num2 ]

num1 和 num2 表示參與比較的兩個整數,可以是常量,也可以是變數

op 表示運算子

常見整數運算子

運算子說明num1 -eq num2

比較 num1 是否 等於 num2 ,若 等於 就返回0––

num1 -ne num2

比較 num1 是否 不等於 num2 ,若 不等於 則返回0––

num1 -gt num2

比較 num1 是否大於 num2 , 若 大於 則返回0––

num1 -lt num2

比較 num1 是否小於 num2 , 若 小於 則返回0––

num1 -ge num2

比較 num1 是否大於等於 num2 , 若 大於等於 則返回0––

num1 -le num2

比較 num1 是否小於等於 num2 , 若 小於等於 則返回0

以上是針對整數的比較,不能用於比較浮點數什麼的,會報錯

檔案測試的語法有兩種:

test op file

[ op file ]

上面語法中,op:表示操作符,file:表示要測試的檔名

常用的檔案操作符

操作符說明-a file

檔案是否存在,如果檔案file存在,則結果為 0––

-b file

文是否存在,且為快檔案。如果檔案file是乙個已經存在的塊檔案,則結果為 0––

-c file

檔案是否存在,且為字元檔案。如果file是乙個已經存在的字元檔案,則結果為 0––

-d file

檔案是否存在,且為目錄。如果檔案file是乙個已經存在的目錄,則結果為 0––

-e file

同 -a 操作符––

-s檔案的長度是否大於 0 或檔案的為非空檔案。如果 file 是乙個非空檔案,則結果為 0––

-f file

檔案存在,並且為常規檔案。如果 file 是乙個已經存在的常規檔案,則結果為 0––

-w file

檔案是否存在且可寫。如果檔案 file 是乙個可寫檔案,則結果為 0––

-l file

檔案是否存在,並且為符號鏈結。如果檔案 file 是乙個已經存在的符號鏈結,則結果為 0––

-u檔案是否設定 suid 位。如果檔案 file 已經設定了 suid 位,則結果位 0––

-r file

檔案是否存在,並且可讀。如果檔案 file 是乙個已經存在的可讀檔案,則結果為 0––

-x file

檔案是否存在,並且可執行。如果檔案 file 是乙個已經存在的可執行檔案,則結果為0––

shell 條件測試 test

shell環境根據命令執行後的返回狀態值 來判斷是否執行成功,當返回值為0時表示成功,否則 非0值 表示失敗或異常。使用專門的測試工具test命令,可對條件進行測試,並根據返回值來判斷條件是否成立 返回值為0表示成立 使用test測試命令時 使用格式 檔案測試 檔案測試指的是根據給定的路徑名稱,判斷...

shell條件測試test

shell條件測試可以通過以下兩種方式 test 引數 測試內容 引數 測試內容 一 測試檔案型別 test e 檔名 測試檔案是否存在 e 檔名 測試檔案是否存在,注意中括號兩邊的空格 test f 檔名 判斷是否為普通檔案 test d 檔名 判斷是否為目錄 test b 檔名 判斷是否為塊裝置...

shell 條件測試語句 test

shell環境根據命令執行後的返回狀態值 來判斷是否執行成功,當返回值為0時表示成功,否則 非0值 表示失敗或異常。使用專門的測試工具test命令,可對條件進行測試,並根據返回值來判斷條件是否成立 返回值為0表示成立 使用test測試命令時 這兩種方式作用完全相同,但是通常使用後者。根據要測試的條件...