Gibt es so etwas in bash
oder zumindest etwas Ähnliches (Workaround) wie Forward-Deklarationen, die zum Beispiel in C / C ++ bekannt sind?
Oder gibt es so etwas, weil es zum Beispiel immer in einem Durchgang (Zeile für Zeile) ausgeführt wird?
Was muss ich tun, um die Lesbarkeit meines Skripts zu verbessern, wenn keine Vorwärtsdeklarationen vorliegen? Es ist ziemlich lang und diese Funktionsdefinitionen am Anfang, gemischt mit globalen Variablen, lassen mein Skript hässlich und schwer zu lesen / verstehen aussehen. Ich bitte Sie, einige bekannte / bewährte Methoden für solche Fälle zu lernen.
Beispielsweise:
# something like forward declaration
function func
# execution of the function
func
# definition of func
function func
{
echo 123
}
quelle
main
oder in einer Funktion direkt danachmain
(z . B.setup
oderparseArguments
). Ich vermeide es, globale Variablen oben zu setzenmain
- Code sollte nicht außerhalb von liegenmain
.if _ _ name _ _ == "_ _ main _ _": main()
in Python tutWenn meine Bash-Skripte zu stark wachsen, verwende ich einen Include-Mechanismus:
Datei
allMyFunctions
:Datei
main
:quelle
source allMyfunctions
?source
ist nicht POSIX-konform.bash
definiertsource
als Alias für.
: Sie sind funktional äquivalent.