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 bardirekt zur Hauptfunktion zurückkehren? Der Fall ist, dass barBenutzereingaben 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 fooist mit einer einfachen returnAnweisung 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 ( bardie 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.
gotoleider keine .
goto, das meines Wissens in bash nicht existiert.