Ich habe ein Skript test.sh
#/!bin/bash
set -e
trap errorhandler ERR
errorhandler(){
status=$?
trap - ERR
exit $status
}
echo "$@"
exit 0
wenn ich anrufe sh test.sh 'Hey'
es wird gedruckt -e
anstelle von Hey
.
Mein Lösungsansatz ist Surrounding set -e
mit Backticks, aber ich weiß nicht, ob es noch wie vorgesehen funktioniert
Eine andere Lösung wäre, sie in einer Variablen in der ersten Zeile zu speichern, aber ich möchte meine set -e
in der ersten Zeile aus einem offensichtlichen Grund (Behandlung eines Fehlers).
Gibt es eine clevere Möglichkeit, dies zu tun? Wie der Befehl "Hey, fass meinen $@ nicht an".