Linux test命令详解 test是Linux和Unix系统中一个用于评估条件表达式的核心命令在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 FILE2FILE1比FILE2新 (修改时间)。FILE1 -ot FILE2FILE1比FILE2旧。2.字符串测试用于比较字符串内容或检查其是否为空。运算符说明-z STRINGSTRING的长度为零(空字符串)。-n STRINGSTRING的长度非零(非空字符串)。STRING1 STRING2STRING1等于STRING2。STRING1 ! STRING2STRING1不等于STRING2。STRING1 STRING2/STRING1 STRING2按字典序比较在[ ]中需用\\转义。