Aufgaben Bash trap

Aus Xinux Wiki
Version vom 8. Juni 2023, 11:24 Uhr von Thomas.will (Diskussion | Beiträge) (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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
  • 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..."
  • Verwende trap zum Abfangen von Fehlerzuständen (Exit-Code ungleich 0) und führe eine spezifische Aktion aus:

bash Copy code

  1. !/bin/bash
  1. Trap-Funktion für EXIT

trap 'error_handler' EXIT

  1. Funktion für Fehlerbehandlung

error_handler() {

   if [ $? -ne 0 ]; then
       echo "Ein Fehler ist aufgetreten. Exit-Code: $?"
       # Weitere Fehlerbehandlung hier
   fi

} -->

  1. Skriptcode

echo "Skript läuft..."

  1. Ein Befehl, der möglicherweise fehlschlagen kann

ls /pfad/der/nicht/existiert

  1. Weitere Skriptoperationen...

Schreibe ein Skript, das bestimmte Signale ignoriert: bash Copy code

  1. !/bin/bash
  1. Trap-Funktion für SIGTERM und SIGQUIT (ignoriert Signale)

trap SIGTERM SIGQUIT

  1. Skriptcode

echo "Skript läuft..."

  1. Endlosschleife zum Testen

while true; do

   sleep 1

done Verwende trap zum Aufrufen einer Funktion vor dem Beenden des Skripts, unabhängig davon, ob es erfolgreich abgeschlossen wurde oder nicht: bash Copy code

  1. !/bin/bash
  1. Trap-Funktion für EXIT

trap 'cleanup' EXIT

  1. Funktion für das Aufräumen

cleanup() {

   echo "Skript wird beendet. Führe Aufräumarbeiten durch..."
   # Weitere Aufräumarbeiten hier

}

  1. Skriptcode

echo "Skript läuft..."

  1. Weitere Skriptoperationen...