Gibt es eine Möglichkeit, eine Bash-Funktion zu schreiben, die die gesamte Ausführung abbricht, egal wie sie aufgerufen wird?

War ich mit "exit 1" - Anweisung in mein bash Funktionen zu kündigen, das ganze script und es hat funktioniert:

function func()
{
   echo "Goodbye"
   exit 1
}
echo "Function call will abort"
func
echo "This will never be printed"

Aber dann merkte ich, dass es nicht die Arbeit machen, wenn genannt wie:

res=$(func)

Verstehe ich, dass ich erstellt eine subshell und "exit 1" bricht das subshell-und nicht der primäre....

Aber gibt es eine Möglichkeit, eine Funktion schreiben, der bricht die ganze Ausführung, egal, wie es genannt wird? Ich muss nur den richtigen Rückgabewert (auch von der Funktion).

InformationsquelleAutor der Frage LiMar | 2012-03-27

Schreibe einen Kommentar