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

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

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

答案1

bash和其他一些 shell 中,是(如果文件存在则为 true)-a的同义词。-e

$ help test
...
      -a FILE        True if file exists.
...
      -e FILE        True if file exists.

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

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

相关内容