我刚刚找到了几个使用[ -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。