Kommando-Listen

Aus Xinux Wiki
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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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.