バッシュマニュアルは言う:
[フォームを使用する場合、コマンドの最後の引数は]でなければなりません。
$ type [
[ is a shell builtin
$ type ]
bash: type: ]: not found
つまり]、予約語でも、演算子でも、組み込みコマンドでもありません。
トークンとして、トークン識別子は]何ですか?WORDまたはNAME?
シェル言語は過去46年間にわたって層ごとに成長しており、内部の一貫性は決して優先事項ではありませんでした。理論的な形式言語のフレームワークのいずれかにそれを強制的に適合させようとすると、悪い時間になります。
—
zwol 2016年
以来
—
Baard Kopperud 2016年
[(も)自己完結型のコマンドで、それは通常、マンページを持って...だから試すman [および/またはman test([とtest同じコマンドでもよいです)。
こだわりのお試し
—
ワイルドカード2016年
]単一または二重引用符で、あなたはそれが違いはありませんが表示されます。それは単なる文字列です。
[は、(また)自立コマンドです:-rwxr-xr-x 1 root root 39552 Dec 3 18:14 / usr / bin / [可能性がありますが、例えばkill。一部のシステムでは、testコマンドはシンボリックリンク[またはその逆です。AFAIK、]それ自体は何も意味しませんが、「閉じる」ことは受け入れられます[-しかし、それは「美的」な理由のためです。