(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"
$