Ich schreibe ein Skript, das mit ausgeführt werden muss source
, da es die Aufgabe hat, die Umgebung zu ändern. Während des Skripts möchte ich verwenden, set -e
damit ein Fehler das Skript stoppt. Das Skript sieht folgendermaßen aus:
#!/bin/bash
set -e
# do something
cd somewhere
source anotherScript
Das Problem ist, dass dies set -e
natürlich auch nach Abschluss des Skripts wirksam bleibt. Wie kann ich sicherstellen, dass die geänderte set
Option beim Beenden des Skripts ordnungsgemäß auf den vorherigen Wert zurückgesetzt wird (auf irgendeine Weise - entweder durch erfolgreichen Abschluss oder aufgrund eines Fehlers)?
-x
/ xtrace
) wird unter Ausführungsablaufverfolgung für Echobefehl unterdrücken behoben.