Aufgaben Bash trap: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „*Erstelle ein Skript, das bei einem SIGINT-Signal (Strg+C) "Signal SIGINT empfangen. Beende das Skript." ausgibt und das Skript beendet. <!-- #!/bin/bash # Tr…“)
 
Zeile 37: Zeile 37:
 
done
 
done
 
-->
 
-->
*Verwende trap zum Abfangen von Fehlerzuständen (Exit-Code ungleich 0) und führe eine spezifische Aktion aus:
 
bash
 
Copy code
 
#!/bin/bash
 
 
# Trap-Funktion für EXIT
 
trap 'error_handler' EXIT
 
 
# Funktion für Fehlerbehandlung
 
error_handler() {
 
    if [ $? -ne 0 ]; then
 
        echo "Ein Fehler ist aufgetreten. Exit-Code: $?"
 
        # Weitere Fehlerbehandlung hier
 
    fi
 
}
 
-->
 
 
# Skriptcode
 
echo "Skript läuft..."
 
# Ein Befehl, der möglicherweise fehlschlagen kann
 
ls /pfad/der/nicht/existiert
 
  
# Weitere Skriptoperationen...
+
*Schreibe ein Skript, welches SIGTERM und SIGQUIT ignoriert:
Schreibe ein Skript, das bestimmte Signale ignoriert:
+
<!--
bash
 
Copy code
 
 
#!/bin/bash
 
#!/bin/bash
  
Zeile 75: Zeile 52:
 
     sleep 1
 
     sleep 1
 
done
 
done
Verwende trap zum Aufrufen einer Funktion vor dem Beenden des Skripts, unabhängig davon, ob es erfolgreich abgeschlossen wurde oder nicht:
+
-->
bash
+
*Verwende trap zum Aufrufen einer Funktion vor dem Beenden des Skripts, unabhängig davon, ob es erfolgreich abgeschlossen wurde oder nicht:
Copy code
+
<!--
 
#!/bin/bash
 
#!/bin/bash
  
Zeile 92: Zeile 69:
 
echo "Skript läuft..."
 
echo "Skript läuft..."
 
# Weitere Skriptoperationen...
 
# Weitere Skriptoperationen...
 +
-->

Version vom 8. Juni 2023, 11:26 Uhr

  • Erstelle ein Skript, das bei einem SIGINT-Signal (Strg+C) "Signal SIGINT empfangen. Beende das Skript." ausgibt und das Skript beendet.
  • Schreibe ein Skript, das beim Erhalt eines SIGHUP-Signals (Terminal schließen) eine Funktion aufruft die ausgibt ""Terminal wurde geschlossen. Räume auf..."


  • Schreibe ein Skript, welches SIGTERM und SIGQUIT ignoriert:
  • Verwende trap zum Aufrufen einer Funktion vor dem Beenden des Skripts, unabhängig davon, ob es erfolgreich abgeschlossen wurde oder nicht: