Bash Einfache Verzweigungen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 10: Zeile 10:
 
*Der Befehl nach ''||'' wird dabei nur ausgeführt, wenn der Returncode des vorherigen Befehls 1 war, also der Befehl vor der Pipe fehlerfrei ausgeführt wurde.  
 
*Der Befehl nach ''||'' wird dabei nur ausgeführt, wenn der Returncode des vorherigen Befehls 1 war, also der Befehl vor der Pipe fehlerfrei ausgeführt wurde.  
 
*Ist ein Befehl vor einer Pipe erfolgreich wir der 2. Befehl nicht ausgeführt.
 
*Ist ein Befehl vor einer Pipe erfolgreich wir der 2. Befehl nicht ausgeführt.
 +
 +
= Aufgaben =
 +
 +
* Schreiben Sie einen 1-Zeiler, der ausgibt, dass der Ordner ''/etc'' existiert
 +
* Schreiben Sie einen 1-Zeiler, der ausgibt, dass /zuiablkjvwpei nicht existiert
 +
* Benutzen Sie zur Überprüfung das Kommando '''ls''' ohne dabei den Inhalt der Ordner anzuzeigen
 +
<!-- * '''ls /etc > /dev/null 2>&1 && echo existiert!''' -->
 +
<!-- * '''ls /zuiablkjvwpei > /dev/null 2>&1 || echo existiert nicht!'''-->
 +
* Wie sieht der 1-Zeiler aus, der zurückgibt ob die Datei ''~/verzweigung'' existiert oder nicht?
 +
* Testen Sie Ihre Lösung mit oder ohne die Datei
 +
<!-- * '''ls ~/verzweigung > /dev/null 2>&1 || echo existiert nicht!'''-->
 +
<!--  existiert nicht! -->
 +
<!-- * '''ls ~/verzweigung > /dev/null 2>&1 || echo existiert nicht!'''-->
 +
<!-- * touch ~/verzweigung -->
 +
<!--  existiert! -->

Aktuelle Version vom 12. Oktober 2025, 19:48 Uhr

Was ist das?

  • In Abhängigkeit vom Returncode eines Befehls oder einer Pipe kann mit den Sonderzeichen && und || eine Verzweigung durchgeführt werden.
  • echo das ist sux1. > sux1
  • rm sux1 && echo sux1 ist geloescht!
  • rm sux1 || echo sux1 konnte nicht geloescht werden.

&&

  • Der Befehl nach && wird dabei nur ausgeführt, wenn der Returncode des vorherigen Befehls 0 war, also der Befehl vor der Pipe fehlerfrei ausgeführt wurde.
  • Ist ein Befehl vor einer Pipe nicht erfolgreich wir der 2. Befehl nicht ausgeführt.

||

  • Der Befehl nach || wird dabei nur ausgeführt, wenn der Returncode des vorherigen Befehls 1 war, also der Befehl vor der Pipe fehlerfrei ausgeführt wurde.
  • Ist ein Befehl vor einer Pipe erfolgreich wir der 2. Befehl nicht ausgeführt.

Aufgaben

  • Schreiben Sie einen 1-Zeiler, der ausgibt, dass der Ordner /etc existiert
  • Schreiben Sie einen 1-Zeiler, der ausgibt, dass /zuiablkjvwpei nicht existiert
  • Benutzen Sie zur Überprüfung das Kommando ls ohne dabei den Inhalt der Ordner anzuzeigen
  • Wie sieht der 1-Zeiler aus, der zurückgibt ob die Datei ~/verzweigung existiert oder nicht?
  • Testen Sie Ihre Lösung mit oder ohne die Datei