Einfache Verzweigungen
Version vom 17. Oktober 2025, 15:19 Uhr von Thomas.will (Diskussion | Beiträge)
Kurzlogische Verzweigungen (&& und ||)
- Kurzlogische Verzweigungen nutzen den Rückgabewert (Exit-Status) eines Befehls, um Folgeaktionen in einer Zeile auszuführen.*
- Dadurch können einfache Prüfungen kompakt formuliert werden, ohne die if-Struktur zu verwenden.*
Grundprinzip
- && (UND): führt den nächsten Befehl **nur** aus, wenn der vorherige erfolgreich war (Exit-Status 0).
- || (ODER): führt den nächsten Befehl **nur** aus, wenn der vorherige **nicht** erfolgreich war (Exit-Status ≠ 0).
Beispiele
- [ -f /etc/passwd ] && echo "Datei existiert"
Datei existiert
- [ -d /root ] || echo "Verzeichnis /root existiert nicht"
Verzeichnis /root existiert nicht
- [ "$USER" = "root" ] && echo "Administrator" || echo "Normaler Benutzer"
Normaler Benutzer
Überprüfung des Rückgabewerts
- Der Rückgabewert des letzten Kommandos kann mit echo $? ausgegeben werden.*
0 = wahr / erfolgreich ≠0 = falsch / Fehler
Hinweise
- Eignet sich für **Einzeiler** und kurze logische Prüfungen.
- Die Auswertung basiert ausschließlich auf dem **Exit-Status**.
- Für komplexere Abläufe sollte die klassische if-Struktur verwendet werden.
Aufgaben
- Überprüfen Sie mit einem Einzeiler, ob die Datei /etc/passwd existiert, und geben Sie eine Meldung aus.*
- Prüfen Sie, ob eine Variable NAME leer ist oder nicht, und geben Sie „leer“ oder „nicht leer“ aus.*
- Bauen Sie einen Einzeiler, der „Root-Benutzer“ oder „Normaler Benutzer“ anzeigt, abhängig vom aktuellen Login-Namen.*
- Geben Sie nach jeder Prüfung den Exit-Status mit echo $? aus.*