Bash Manual sagt:
Wenn das [Formular verwendet wird, muss das letzte Argument für den Befehl a] sein.
$ type [
[ is a shell builtin
$ type ]
bash: type: ]: not found
Es ]
ist also weder ein reserviertes Wort noch ein Operator oder ein eingebauter Befehl.
Was ist als Token die Token-ID von ]
? WORT oder NAME?
[
es sich (auch) um einen in sich geschlossenen Befehl handelt, hat er normalerweise eine Manpage ... Versuchen Sie es also man [
mit / und man test
( [
und es test
kann sich um denselben Befehl handeln).
]
in einfache oder doppelte Anführungszeichen zu setzen, und Sie werden sehen, dass es keinen Unterschied macht. Es ist nur eine Schnur.
[
ist (auch) ein autarker Befehl: -rwxr-xr-x 1 root root 39552 3. Dezember 18:14 / usr / bin / [Obwohl es möglich ist, dass auch "parallel" eingebaut ist, wie es für ist zum Beispielkill
. Auf einigen Systemen ist dertest
Befehl eine symbolische Verknüpfung zu[
oder umgekehrt. AFAIK]
bedeutet nichts für sich, wird aber akzeptiert, um ein "zu schließen"[
- aber es ist eher aus "ästhetischen" Gründen.