Czy jest coś takiego w bash
lub co najmniej coś podobnego (obejście), jak deklaracje forward, dobrze znane na przykład w C/C++?Deklaracje funkcji Forward w skrypcie Bash lub Shell?
Albo jest taka rzecz, ponieważ na przykład zawsze jest wykonywana w jednym przebiegu (linia po linii)?
Jeśli nie ma deklaracji przekazania, co należy zrobić, aby mój skrypt był łatwiejszy do odczytania. Jest dość długi i te definicje funkcji na początku, zmieszane ze zmiennymi globalnymi, czynią mój skrypt brzydkim i trudnym do odczytania/zrozumienia)? Proszę o zapoznanie się z dobrze znanymi/najlepszymi praktykami w takich przypadkach.
Na przykład:
# something like forward declaration
function func
# execution of the function
func
# definition of func
function func
{
echo 123
}
Cześć, jak masz na struktury danych, które ma być podzielonym między foo/bar/baz w twoim przykładzie? Zwykle po prostu umieszczam go na górze skryptu. Czy nadal jest tak w przypadku korzystania z funkcji? Czy też lepiej jest umieścić dane globalne w main, a następnie przekazać je do foo/bar/baz jako argumenty? Jaka jest najlepsza praktyka? – bodacydo
Preferuję argumenty. Poza tym ustawiam zmienne globalne w 'main' lub w funkcji zaraz po' main' (np. 'Setup' lub' parseArguments'). Unikam sytuacji, w której zmienne globalne są ustawione powyżej "głównego" - kod nie powinien wychodzić poza "główny". –
To wydaje się być nieco analogiczne do tego, co "jeśli _ _ nazwa _ _ ==" _ _ główne _ _ ": główne()' robi w python –