Kommando-Listen
Version vom 17. Oktober 2025, 15:39 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Kommando-Listen = *Mehrere Kommandos können in der Bash auf einer einzigen Zeile nacheinander ausgeführt werden.* *Dies nennt man eine Kommando-Liste. Sie…“)
Kommando-Listen
- Mehrere Kommandos können in der Bash auf einer einzigen Zeile nacheinander ausgeführt werden.*
- Dies nennt man eine Kommando-Liste. Sie wird oft verwendet, um kurze Abläufe zu testen oder Befehle logisch zu verketten.*
Grundprinzip
- In einer Kommando-Liste werden Befehle mit speziellen Trennern verbunden.*
- Die Shell führt sie der Reihe nach aus, abhängig vom jeweiligen Rückgabewert (Exit-Status) des vorigen Befehls.*
Allgemeine Syntax
- Kommando1 ; Kommando2 ; Kommando3
→ Alle Kommandos werden unabhängig voneinander ausgeführt.
Beispiel
- date ; whoami ; pwd
Ausgabe: Fri Oct 17 18:34:12 CEST 2025 thomas /home/thomas
Verwendung von && und ||
- Mit diesen Operatoren können Befehle abhängig vom Erfolg oder Fehlschlag des vorherigen Kommandos verknüpft werden.*
- UND-Verknüpfung (&&)
- Der zweite Befehl wird nur ausgeführt, wenn der erste erfolgreich war (Exit-Code = 0).*
- mkdir /tmp/test && echo "Verzeichnis wurde angelegt."
- ODER-Verknüpfung (||)
- Der zweite Befehl wird nur ausgeführt, wenn der erste fehlschlägt (Exit-Code ≠ 0).*
- cd /nichtda || echo "Verzeichnis existiert nicht."
- Kombination von && und ||
- Beide Operatoren können kombiniert werden, um einfache Prüfungen ohne if-Abfrage durchzuführen.*
- [ -f /etc/passwd ] && echo "Datei existiert" || echo "Datei fehlt"
Rückgabewert prüfen
- Der Exit-Status des letzten ausgeführten Kommandos kann mit echo $? angezeigt werden.*
ls /etc > /dev/null
echo $?
0
ls /nichtda > /dev/null
echo $?
2
Beispiel – kurze logische Kette
- ping -c1 10.0.0.1 > /dev/null 2>&1 && echo "Host erreichbar" || echo "Host nicht erreichbar"
Ausgabe: Host erreichbar
Hinweise
- ; – führt Kommandos unabhängig voneinander aus.
- && – führt das nächste Kommando nur bei Erfolg aus (Exit-Code = 0).
- || – führt das nächste Kommando nur bei Fehler aus (Exit-Code ≠ 0).
- Diese Operatoren können beliebig kombiniert werden.
- Der Exit-Status ($?) ist wichtig für automatisierte Abläufe und Skripte.
Aufgaben
- Führen Sie drei Kommandos (date, whoami, pwd) in einer Zeile aus.
- Erstellen Sie eine Kommando-Kette, die ein Verzeichnis anlegt und bei Erfolg eine Meldung ausgibt.
- Erstellen Sie eine zweite Kette, die bei Fehlschlag eine Fehlermeldung ausgibt.
- Prüfen Sie nach jedem Befehl den Exit-Status mit echo $?.
- Kombinieren Sie && und || zu einem Ausdruck, der je nach Ergebnis „OK“ oder „Fehler“ ausgibt.