Ich habe ein BASH-Skript, das eine Funktion aufruft, die andere Funktionen aufruft:
#!/bin/bash
function foo
{
function bar
{
# do something
}
bar
}
foo
Wie kann ich bar
direkt zur Hauptfunktion zurückkehren? Der Fall ist, dass bar
Benutzereingaben verarbeitet werden und wenn es eine negative Antwort erhält, muss es zur Hauptfunktion zurückkehren, andernfalls muss es zu zurückkehren foo
.
Die Rückkehr zu foo
ist mit einer einfachen return
Anweisung kein Problem . Für den anderen habe ich Folgendes versucht (was tatsächlich funktioniert):
#!/bin/bash
function foo
{
function bar
{
if [negative] # abstract statement
then return 1
else return 0
fi
}
! bar && return
}
foo
Aber gibt es eine Möglichkeit, die nur geändert werden muss, da ich Funktionen wie foo
über das gesamte Projekt verteilt habe ( bar
die in einer Header-Datei definiert sind) bar
? Das Projekt ist ~ 2k Zeilen lang und besteht aus mehreren Dateien. Auf diese Weise wäre es viel einfacher, wenn es eine Lösung gibt.
goto
leider keine .
goto
, das meines Wissens in bash nicht existiert.