Scroll to navigation

TEST(1) 用戶命令 TEST(1)

名稱

test - 檢查文件類型並比較值

概述

test 表達式
test

[ 表達式 ]
[ ]
[ 選項

描述

退出狀態值取決於表達式。
--help
顯示此幫助信息並退出
--version
顯示版本信息並退出

表達式被省略,則默認爲假。否則,表達式可能爲真或假,且以此設置返回狀態。可能出現的情況如下所示:

( 表達式 )
表達式爲真
! 表達式
表達式爲假
表達式1 -a 表達式2
表達式1 與表達式2 皆爲真
表達式1 -o 表達式2
表達式1 或表達式2 爲真
-n 字符串
字符串長度非零
STRING
等價於 -n 字符串
-z 字符串
字符串的長度爲 0
字符串1 = 字符串2
字符串相等
字符串1 != 字符串2
字符串不相等
整數1 -eq 整數2
整數1 與整數2 相等
整數1 -ge 整數2
整數1 大於或等於整數2
整數1 -gt 整數2
整數1 大於整數2
整數1 -le 整數2
整數1 小於或等於整數2
整數1 -lt 整數2
整數1 小於整數2
整數1 -ne 整數2
整數1 和整數2 不相等
文件1 -ef 文件2
文件1 和文件2 擁有相同的設備編號與 inode 編號
文件1 -nt 文件2
文件1 在修改時間上新於文件2
文件1 -ot 文件2
文件1 比文件2 更舊
-b 文件
文件存在且爲塊特殊文件
-c 文件
文件存在且爲字符特殊文件
-d 文件
文件存在且爲目錄
-e 文件
文件存在
-f 文件
文件存在且爲普通文件
-g 文件
文件存在且被設置了 set-group-ID 位
-g 文件
文件存在且爲有效組ID 所有
-h 文件
文件存在且爲一個符號鏈接(與 -L 相同)
-k 文件
文件存在且被設置粘着位
-L 文件
文件存在且爲一個符號鏈接(與 -h 相同)
-O 文件
文件存在且爲有效用戶ID 所有
-p 文件
文件存在且爲命名管道
-r 文件
文件存在且被授予讀權限
-s 文件
文件存在且其大小大於零
-S 文件
文件存在且爲套接字
-t FD
文件描述符 FD 在某個終端打開
-u 文件
文件存在且被設置了 set-user-ID 位
-w 文件
文件存在且被賦予了寫權限
-x 文件
文件存在且被授予執行(或搜索)權限

除了 -h-L,所有與指定文件相關的測試都跟隨符號鏈接。請注意在 shell 中圓括號需要被轉義(例如,使用反斜線)。也可以把“-l 字符串”作爲指定整數,其值爲該字符串的長度。

注:二元運算符 -a-o 存在固有的歧義問題。請使用 "test EXPR1 &&test EXPR2" 或 "test EXPR1 || test EXPR2" 作爲替代。

註記:[ 接受 --help--version 選項,但是 test 並非如此。test 將它們與其它非空字符串同等看待。

注意:您的 shell 可能內置了自己的 test 和/或 [ 程序版本,它會覆蓋這裏所提及的相應版本。請查閱您的 shell 文檔獲知它所支持的選項。

作者

由 Kevin Braunsdorf 和 Matthew Bradburn 編寫。

報告錯誤

GNU coreutils 的在線幫助: <http://www.gnu.org/software/coreutils/>
請向 <http://translationproject.org/team/zh_CN.html> 報告 [ 的翻譯錯誤。

版權

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

參見

完整文檔請見: <http://www.gnu.org/software/coreutils/[>
或者在本地使用: info '(coreutils) test invocation'

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
2017年1月 GNU coreutils 8.26