詳解命令 test

2022-06-12 18:27:10 字數 2228 閱讀 4094

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

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...