-a 一元运算符检查什么?

Hon*_*jzl 1 bash test

我刚刚找到了几个使用[ -a some_dir ]or的示例,[ -a some_file ]但找不到-a运算符的用途。似乎它应该在test/的手册页中进行描述,[但它只是作为一个比较运算符[ $expr1 -a $expr2 ]。如果文件或目录存在,无论类型如何,它似乎只是返回 true。

mos*_*svy 6

bash和其他一些 shell 中,-a-e(true if file exists)的同义词。

$ help test
...
      -a FILE        True if file exists.
...
      -e FILE        True if file exists.
Run Code Online (Sandbox Code Playgroud)

这是非标准的,并非所有 shell 都支持,因此您最好不要依赖它。

注意的联机帮助test(1)文件的外部命令(/usr/bin/test/usr/bin/[,等),而不是shell内置。

  • @XTian `help` 是一个 _bash_ 内置命令,它提供有关内置命令的 _incomplete_ 帮助;-) (2认同)