Ich bin kein Linux-Experte und kein Unix-Experte. Ich frage mich, was der Unterschied zwischen diesen beiden Methoden ist, 2 Befehle in einer Zeile zu schreiben. In diesem vereinfachenden Beispiel sehe ich keinen Unterschied in der Ausgabe
Pete$date ; time
Sun Mar 17 19:37:20 EDT 2013
real 0m0.000s
user 0m0.000s
sys 0m0.000s
Pete$date &&time
Sun Mar 17 19:37:46 EDT 2013
real 0m0.000s
user 0m0.000s
sys 0m0.000s
Das hat keine Probleme verursacht - ich bin nur neugierig ..
quelle
0
bedeutettrue
oder das0
bedeutet wahr - es liegt ein Fehler vor?0
bedeutettrue
. Ich habe eine Klarstellung hinzugefügt.;
Führt die Befehle nacheinander aus, unabhängig vom vorherigen Beendigungsstatus:
&&
Logisches UND
Führen Sie den nächsten Befehl aus, aber nur, wenn der vorherige Befehl erfolgreich war (der Beendigungsstatus war
0
):||
Logisches ODER
Führen Sie den nächsten Befehl aus, aber nur, wenn der vorherige Befehl fehlgeschlagen ist (der Beendigungsstatus war nicht
0
):quelle
sh -c "exit 0"
kann mittrue
in diesen Beispielen undsh -c "exit 1"
mit ersetzt werdenfalse
.