test - 检查文件类型并比较值
概要
test EXPRESSION
test
[ EXPRESSION ]
[ ]
[ OPTION
描述
根据 EXPRESSION 的结果退出。
--help 显示此帮助信息并退出
--version
输出版本信息并退出
如果省略了 EXPRESSION,则默认为 false。 否则,EXPRESSION 为 true 或 false,并设置退出状态。 它可以是以下之一:
( EXPRESSION )
EXPRESSION 为 true
! EXPRESSION
EXPRESSION 为 false
EXPRESSION1 -a EXPRESSION2
EXPRESSION1 和 EXPRESSION2 都为 true
EXPRESSION1 -o EXPRESSION2
EXPRESSION1 或 EXPRESSION2 为 true
-n STRING
STRING 的长度不为零
STRING 等同于 -n STRING
-z STRING
STRING 的长度为零
STRING1 = STRING2
这两个字符串相等
STRING1 != STRING2
这两个字符串不相等
STRING1 > STRING2
在当前区域设置中,STRING1 大于 STRING2
STRING1 < STRING2
在当前区域设置中,STRING1 小于 STRING2
INTEGER1 -eq INTEGER2
INTEGER1 等于 INTEGER2
INTEGER1 -ge INTEGER2
INTEGER1 大于或等于 INTEGER2
INTEGER1 -gt INTEGER2
INTEGER1 大于 INTEGER2
INTEGER1 -le INTEGER2
INTEGER1 小于或等于 INTEGER2
INTEGER1 -lt INTEGER2
INTEGER1 小于 INTEGER2
INTEGER1 -ne INTEGER2
INTEGER1 不等于 INTEGER2
FILE1 -ef FILE2
FILE1 和 FILE2 具有相同的设备号和 inode 号
FILE1 -nt FILE2
FILE1 比 FILE2 更新(修改日期)
FILE1 -ot FILE2
FILE1 比 FILE2 旧
-b FILE
FILE 存在并且是块设备
-c FILE
FILE 存在并且是字符设备
-d FILE
FILE 存在并且是一个目录
-e FILE
FILE 存在
-f FILE
FILE 存在并且是一个普通文件
-g FILE
FILE 存在并且设置了 set-group-ID 位
-G FILE
FILE 存在并且由有效的组 ID 拥有
-h FILE
FILE 存在并且是一个符号链接(与 -L 相同)
-k FILE
FILE 存在并且设置了粘滞位
-L FILE
FILE 存在并且是一个符号链接(与 -h 相同)
-N FILE
FILE 存在并且自从上次读取以来已修改
-O FILE
FILE 存在并且由有效的用户 ID 拥有
-p FILE
FILE 存在并且是一个命名管道
-r FILE
FILE 存在并且用户具有读取权限
-s FILE
FILE 存在并且大小大于零
-S FILE
FILE 存在并且是一个套接字
-t FD 文件描述符 FD 在终端上打开
-u FILE
FILE 存在并且设置了 set-user-ID 位
-w FILE
FILE 存在并且用户具有写入权限
-x FILE
FILE 存在并且用户具有执行(或搜索)权限
除了 -h 和 -L 之外,所有与文件相关的测试都会取消引用符号链接。 请注意,括号需要进行转义(例如,通过反斜杠),以便在 shell 中使用。 INTEGER 也可以是 -l STRING,其结果为 STRING 的长度。
二进制 -a 和 -o 具有歧义。 而是使用“test EXPR1 && test EXPR2”或“test EXPR1 || test EXPR2”。
“[" 识别 --help 和 --version,但“test”将其视为 STRING。
您的 shell 可能有自己的 test 和/或 [ 版本,通常会取代此处描述的版本。 请参阅 shell 的文档,以了解其支持的选项。
作者
Kevin Braunsdorf 和 Matthew Bradburn 编写。
报告错误
GNU coreutils 在线帮助:[https://www.gnu.org/software/coreutils/] 将任何翻译错误报告给 [https://translationproject.org/team/]
参见
access(2)
完整文档 [https://www.gnu.org/software/coreutils/test] 或在本地通过以下方式获取:info '(coreutils) test invocation'
由 Debian (9.7-3) 封装 版权所有 © 2025 自由软件基金会。 许可证 GPLv3+:GNU GPL 第 3 版或更高版本 [https://gnu.org/licenses/gpl.html]。 这是一个自由软件:您可以自由地更改和重新分发它。 在法律允许的范围内,不提供任何保证。