test命令可用於:
文件屬性的測試
字符串測試
算數測試
test命令語法以下所示:
test EXPRESSION
或者[EXPRESSION]測試
示例:
# test -d "$HOME"; echo $?
0
#["abc" != "def"]; echo $?
0
文件屬性測試操做參考表(test)
操做符 描述ui
-e<file> | 若是<file>存在則爲真 |
-f<file> | 若是<file>存在且是一個常規文件則爲真 |
-d<file> | 若是<file>存在且是一個目錄則爲真 |
-c<file> | 若是<file>存在且是一個特殊字符文件則爲真 |
-b<file> | 若是<file>存在且是一特殊塊文件則爲真 |
-p<file> | 若是<file>存在且是一個命名管道則爲真 |
-S <file> | 若是<file>存在且是一個套接字文件則爲真 |
-L <file> | 若是<file>存在且是一個符號連接則爲真(與-h相同) |
-h <file> | 若是<file>存在且是一個符號連接則爲真(與-L相同) |
-g <file> | 若是<file>存在且是設置了sgid位則爲真 |
-u <file> | 若是<file>存在且是設置了suid位則爲真 |
-r <file> | 若是<file>存在且是可讀的則爲真 |
-w <file> | 若是<file>存在且是可寫的則爲真 |
-x <file> | 若是<file>存在且是可執行的則爲真 |
-s <file> | 若是<file>存在且是不爲空的則爲真 |
-t <file> | 若是文件描述符<fd>已打開且引用了一個終端則爲真 |
<file1>-nt <file2> | 若是<file1>比 <file>新則爲真(指mtime) |
<file1>-ot<file2> | 若是 <file> 比<file>舊則爲真(指mtime) |
<file2>-ef<file1> | 若是<file1>有硬鏈接到<file2>則爲真 |
實例一、檢查命令文件是否存在,若是存在則打印找到此文件,不然打印沒找到此文件。
# test -e /bin/cp && echo "The command $_ found."||echo "The command $_not found."
The command /bin/co found.
PS:上述語句中的"$_"表示前一個執行的命令中的最後一個參數。字符串