Shell脚本中连字符后标识(如-a、-s)的称谓及资料查询求助
Shell脚本中
-s、-a这类标识的正式称谓与参考手册 正式称谓
你代码里的-s属于文件测试运算符,作用是判断指定文件是否存在且大小大于0;-a属于逻辑运算符(在[ ]这个等价于test命令的语法语境下),表示逻辑“与”。
这类以连字符开头的标识,在Shell的test命令(或其简写[ ])中,正式称谓是test运算符,根据功能还可以细分为:
- 文件测试运算符:用于判断文件的状态(如存在性、类型、权限等),比如
-f(普通文件)、-d(目录)、-r(可读)等 - 字符串测试运算符:用于字符串比较,比如
=(相等)、!=(不等)、-z(空字符串)等 - 数值比较运算符:用于数值大小判断,比如
-eq(相等)、-gt(大于)、-lt(小于)等 - 逻辑运算符:用于组合多个测试条件,比如
-a(与)、-o(或)、!(非)
参考手册查询方法
不需要依赖外部网站,直接用系统自带的手册就能查看完整的运算符列表和用途:
- 在终端执行
man test,可以看到test命令支持的所有运算符的详细说明,覆盖各类测试场景 - 如果是用Bash Shell,执行
man bash后,找到CONDITIONAL EXPRESSIONS章节,里面会列出Bash特有的及通用的所有测试运算符说明
内容的提问来源于stack exchange,提问作者Kier Calimoso
相关产品推荐
相关产品推荐

