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…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 15: Zeile 15:
 
-->
 
-->
 
*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, das beim Erhalt eines SIGHUP-Signals (Terminal schließen) eine Funktion aufruft die ausgibt ""Terminal wurde geschlossen. Räume auf..."
 
 
<!--
 
<!--
 
#!/bin/bash
 
#!/bin/bash
Zeile 37: Zeile 36:
 
done
 
done
 
-->
 
-->
*Verwende trap zum Abfangen von Fehlerzuständen (Exit-Code ungleich 0) und führe eine spezifische Aktion aus:
+
*Schreibe ein Skript, welches SIGTERM und SIGQUIT ignoriert:
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, das bestimmte Signale ignoriert:
 
bash
 
Copy code
 
 
#!/bin/bash
 
#!/bin/bash
  
Zeile 75: Zeile 50:
 
     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
 
Copy code
 
#!/bin/bash
 
 
 
# Trap-Funktion für EXIT
 
trap 'cleanup' EXIT
 
 
 
# Funktion für das Aufräumen
 
cleanup() {
 
    echo "Skript wird beendet. Führe Aufräumarbeiten durch..."
 
    # Weitere Aufräumarbeiten hier
 
}
 
 
 
# Skriptcode
 
echo "Skript läuft..."
 
# Weitere Skriptoperationen...
 

Aktuelle Version vom 8. Juni 2023, 11:38 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: