詳解命令 test

2021-08-17 02:35:34 字數 2124 閱讀 1329

test命令是shell環境中測試條件表示式的實用工具。

語法

test(選項)
選項

-b《檔案》:如果檔案為乙個塊特殊檔案,則為真;

-c《檔案》:如果檔案為乙個字元特殊檔案,則為真;

-d《檔案》:如果檔案為乙個目錄,則為真;

-e《檔案》:如果檔案存在,則為真;

-f《檔案》:如果檔案為乙個普通檔案,則為真;

-g《檔案》:如果設定了檔案的sgid位,則為真;

-g《檔案》:如果檔案存在且歸該組所有,則為真;

-k《檔案》:如果設定了檔案的粘著位,則為真;

-o《檔案》:如果檔案存在並且歸該使用者所有,則為真;

-p《檔案》:如果檔案為乙個命名管道,則為真;

-r《檔案》:如果檔案可讀,則為真;

-s《檔案》:如果檔案的長度不為零,則為真;

-s《檔案》:如果檔案為乙個套接字特殊檔案,則為真;

-u《檔案》:如果設定了檔案的suid位,則為真;

-w《檔案》:如果檔案可寫,則為真;

-x《檔案》:如果檔案可執行,則為真。

例項

linux中shell程式設計中的test常見用法:

判斷表示式

if test     #表示式為真

if test ! #表示式為假

test 表示式1 –a 表示式2 #兩個表示式都為真

test 表示式1 –o 表示式2 #兩個表示式有乙個為真

test 表示式1 ! 表示式2 #條件求反

判斷字串

test –n 字串    #字串的長度非零

test –z 字串 #字串的長度是否為零

test 字串1=字串2 #字串是否相等,若相等返回true

test 字串1!=字串2 #字串是否不等,若不等反悔false

判斷整數

test 整數1 -eq 整數2    #整數相等

test 整數1 -ge 整數2 #整數1大於等於整數2

test 整數1 -gt 整數2 #整數1大於整數2

test 整數1 -le 整數2 #整數1小於等於整數2

test 整數1 -lt 整數2 #整數1小於整數2

test 整數1 -ne 整數2 #整數1不等於整數2

判斷檔案

test file1 –ef file2    兩個檔案是否為同乙個檔案,可用於硬連線。主要判斷兩個檔案是否指向同乙個inode。

test file1 –nt file2 判斷檔案1是否比檔案2新

test file1 –ot file2 判斷檔案1比是否檔案2舊

test –b file #檔案是否塊裝置檔案

test –c file #檔案並且是字元裝置檔案

test –d file #檔案並且是目錄

test –e file #檔案是否存在 (常用)

test –f file #檔案是否為正規檔案 (常用)

test –g file #檔案是否是設定了組id

test –g file #檔案屬於的有效組id

test –h file #檔案是否是乙個符號鏈結(同-l)

test –k file #檔案是否設定了sticky bit位

test –b file #檔案存在並且是塊裝置檔案

test –l file #檔案是否是乙個符號鏈結(同-h)

test –o file #檔案的屬於有效使用者id

test –p file #檔案是乙個命名管道

test –r file #檔案是否可讀

test –s file #檔案是否是非空白檔案

test –t fd #檔案描述符是在乙個終端開啟的

test –u file #檔案存在並且設定了它的set-user-id位

test –w file #檔案是否存在並可寫

test –x file #檔案屬否存在並可執行

詳解命令 test

test命令是shell環境中測試條件表示式的實用工具。語法 test 選項 選項 b 檔案 如果檔案為乙個塊特殊檔案,則為真 c 檔案 如果檔案為乙個字元特殊檔案,則為真 d 檔案 如果檔案為乙個目錄,則為真 e 檔案 如果檔案存在,則為真 f 檔案 如果檔案為乙個普通檔案,則為真 g 檔案 如果...

test命令詳解

shell中的 test 命令用於檢查某個條件是否成立,它可以進行數值 字元和檔案三個方面的測試。引數 說明 eq 等於則為真 ne 不等於則為真 gt 大於則為真 ge 大於等於則為真 lt 小於則為真 le 小於等於則為真例項 num1 100 num2 100 iftest num1 eq n...

詳解命令 test

test命令是shell環境中測試條件表示式的實用工具。語法 test 選項 選項 b 檔案 如果檔案為乙個塊特殊檔案,則為真 c 檔案 如果檔案為乙個字元特殊檔案,則為真 d 檔案 如果檔案為乙個目錄,則為真 e 檔案 如果檔案存在,則為真 f 檔案 如果檔案為乙個普通檔案,則為真 g 檔案 如果...