(3 Antworten)
Vor 6 Jahren geschlossen.
Was ist der Unterschied zwischen
echo "Hello " ; echo "world"
und
echo "Hello " && echo "world"
Beide scheinen die beiden Befehle nacheinander auszuführen.
Akzeptierte Antwort:
echo "Hello " ; echo "world"
bedeutet echo "world"
ausführen unabhängig vom Exit-Status des vorherigen Befehls echo "Hello"
ist z.B. echo "world"
wird unabhängig vom Erfolg oder Misserfolg des Befehls echo "Hello"
ausgeführt .
Wohingegen im Falle von echo "Hello " && echo "world"
, echo "world"
wird nur ausgeführt, wenn der erste Befehl (echo "Hello"
) erfolgreich ist (d. h. Exit-Status 0).
Die folgenden Befehle geben ein Beispiel dafür, wie die Shell die Befehlsverkettung mit den verschiedenen Operatoren handhabt:
$ false ; echo "OK"
OK
$ true ; echo "OK"
OK
$ false && echo "OK"
$ true && echo "OK"
OK
$ false || echo "OK"
OK
$ true || echo "OK"
$