Ich habe insgesamt 3 Scripts. Eins um Funktionen bereit zustellen (functions.sh), ein Hauptscript (main.sh), dass diverese andere Scripts aufruft (hier inner.sh)
In der functions.sh will ich eine Funktion definieren für formatierte Fehlermeldung und das ganze dann mit dem Exit Code 1 beendet, dabei zickt aber inner.sh rum.
functions.sh:
function _error {
echo -e "ERROR! ${@}!\n\nFAILED!\n\n"
exit 1
}
main.sh:
source function.sh
do_something || _error do_something failed.
source inner.sh
echo "test"
inner.sh:
_error error test
Wenn do_something fehl schlägt, wird das komplette Script abgebrochen, wie es soll (Formatierte Meldung und exit code).
Aber wenn do_something OK ist und source inner.sh
ausgeführt wird, kommt zwar meine formatierte Meldung, allerdings bewirkt das exit 1
überhaupt nichts und "test" wird auch ausgegeben, das soll aber aber nicht passieren, sprich inner.sh soll auch die Ausführung von main.sh stoppen.
source inner.sh || exit $?
hilft auch nichts.
Irgendwelche Ideen?
MfG
bubble
If "god" had intended us to drink beer, he would have given us stomachs. - David Daye