
[
Ich habe den Befehl unter sowohl in Cygwin als auch in Linux gesehen /bin
. Immer wenn ich ihn ausführe, erhalte ich die Fehlermeldung: missing ]
.
Ich habe nie verstanden, was dieser Befehl macht. Ich habe ihn eines Tages entdeckt und wollte herausfinden, was er macht (und ob er nützlich ist oder nicht).
NOTIZ:Ich hätte den man
Eintrag auf eine Antwort überprüft, aber leider gibt es keinen Eintrag für[
Antwort1
Das isttest
Befehl.
Finden Sie beispielsweise heraus, ob Folgendes /etc/passwd
vorhanden ist oder nicht:
[ -f /etc/passwd ] && echo "Yes" || echo "No"
In der Regel schreibt man es so:
if test -f /etc/passwd
then
echo "Yes"
else
echo "No"
fi
Read
Antwort2
Haben Sie schon einmal if-Bedingungen in Shell-Skripten gesehen/bemerkt? Sie haben folgende Form:
[ -e $FILE ]
In diesen Fällen ist die Funktion zur Bedingungsprüfung normalerweise in die Shell integriert, die diese Skripte interpretiert (normalerweise Bash oder Sh-Aliased-Bash).
Die angezeigten Binärdateien dienen demselben Zweck, sind jedoch vorhanden, damit Bedingungsprüfungen in Shells verwendet werden können.ohnesolche Funktionalität ist eingebaut.
Antwort3
Die eckige Klammer [ ist eine andere Möglichkeit, den Befehl aufzurufen test
.
Beziehen aufManpage des Testsfür weitere Infos :)