bash -v verbose -> Jede Zeile wird vor dem Ausführen ausgegebenbash -n noexec -> Check für Syntax Errors, aber ohne ausführenbash -x xtrace -> Es wird der State von Variablen bei der Ausführung ausgegeben (Zeilen die mit + beginnen)bash -u unset -> Nicht gesetzte Variablen werden als Error angesehenDie Optionen können natürlich auch kombiniert werden
Kann auch immer mitten im Script verwendet werden: set -x # enable xtrace set +x # disable xtrace
Das + welches vor den Debug Nachrichten ausgegeben wird, ist übrigens $PS4, was natürlich überschrieben werden kann (bspw. mit $LINENO was die Zeilennummer ist)
exec 5> debug.log
PS4="$LINENO: "
BASH_XTRACEFD="5" # Sorgt dafür, dass wir mit der 5> oben die xtrace Ausgabe pipen können