info
の理由がわかりません ページにはありませんが、help test
を実行しています bash
で 答えを与える:
...
File operators:
-a FILE True if file exists.
...
したがって、これは単なる「存在」テストであり、他の権限/属性はチェックされません。
test
を実行している場合 または [
bash
で 、実際にはおそらく組み込みバージョンであり、 coreutils
ではありません /usr/bin
のバージョン :
$ type test
test is a shell builtin
$ type [
[ is a shell builtin
そうは言っても、coreutils バージョンは両方の -a
を実装しているようです。 そして -e
、まったく同じ動作をします。たぶん -a
標準ではないためマンページに反映されていないため、後で追加され、その人がそれに応じてマンページを更新することを怠った可能性があります。しかし、なぜそれが追加されたのか (あるいは a
の略)