Roland May wrote:
sehe ich das richtig, daß wenn eine Befehlsfolge
Befehl1 Befehl2 Befehl3 etc.
unabhängig davon abgearbeitet werden soll, ob ein vorhergehender Befehl erfolgreich war, ich diese Befehle durch ein >>;<< trenne
und
wenn ich erreichen möchte, daß ein Check auf Vollständigkeit erfolgen soll
also z.B. Befehl 3 braucht Befehl 2 braucht Befehl 1<
ich diese durch ein && anhängen muß.
Ja. Ein "befehl1 ; befehl2" fuehrt befehl2 aus, wenn sich befehl1 beendet hat, egal mit welchem Status. Bei "befehl1 && befehl2" wird befehl2 nur ausgefuehrt, wenn sich befehl1 erfolgreich - also mit Exitstatus 0 - beendet hat. Kleines Beispiel: $> ls bla ; ls blubb ls: bla: Datei oder Verzeichnis nicht gefunden ls: blubb: Datei oder Verzeichnis nicht gefunden $> ls bla && ls blubb ls: bla: Datei oder Verzeichnis nicht gefunden Es gibt weder eine Datei bla noch eine Datei blubb. Im ersten Falle werden beide Befehle nacheinander ausgefuehrt und jeder produziert jeweils eine Fehlermeldung. Im zweiten Falle wird nur der erste ls Befehl ausgefuehrt - dieser beendet sich mit einem Exit-Status != 0 (da die Datei nicht existiert) und damit wird das zweite ls Kommando fuer blubb nicht mehr ausgefuehrt. Das Komplement waere uebrigens "befehl1 || befehl2"; hier wird befehl2 nur dann ausgefuehrt, wenn sich befehl1 mit einem Fehler, d.h. Exit-Status != 0, beendet. CU, Th.