Linux test命令详解
2026/5/26 19:19:02 网站建设 项目流程

testLinuxUnix系统中一个用于评估条件表达式的核心命令,在Shell脚本编程中不可或缺。它不产生直接输出,而是通过退出状态码(Exit Status来悄无声息地告诉你结果是还是,脚本的核心逻辑(if,while,until)都依赖于此。

💡最简洁:命令行直接测试

-a-o等逻辑运算符被建议避免使用的情况下,最推荐的方式是使用Shell&&(逻辑与)||(逻辑或)操作符:

bash

#标准写法:使用&&进行逻辑与
[-d/etc]&&echo"/etc是一个目录"
#标准写法:使用||进行逻辑或
[-f/etc/passwd]||echo"/etc/passwd不是一个普通文件"

你还可以立即通过$?变量查看刚才命令的退出码,其中0表示1表示

bash

#测试0是否等于0,结果为真
test0-eq0;echo$?
#输出0
#测试文件是否存在,结果为假
test-e/path/to/nonexistent_file;echo$?
#输出1

核心功能分类

test能测试文件属性、字符串和数值,其丰富选项是强大功能的核心。

1.文件测试
这些选项用于检查文件的存在性、类型和权限。

选项

说明

-e FILE

文件存在。

-f FILE

存在且为普通文件

-d FILE

存在且为目录

-L FILE/-h FILE

存在且为软链接

-s FILE

存在且大小非0(非空)。

-r FILE/-w FILE/-x FILE

存在且可读/可写/可执行

FILE1 -nt FILE2

FILE1FILE2新 (修改时间)。

FILE1 -ot FILE2

FILE1FILE2旧。

2.字符串测试
用于比较字符串内容或检查其是否为空。

运算符

说明

-z STRING

STRING长度为零(空字符串)。

-n STRING

STRING长度非零(非空字符串)。

STRING1 = STRING2

STRING1等于STRING2

STRING1 != STRING2

STRING1不等于STRING2

STRING1 < STRING2/STRING1 > STRING2

按字典序比较(在[ ]中需用\<\>转义)。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询