Czy jest coś takiego bash
lub przynajmniej coś podobnego (obejścia), jak deklaracje forward, dobrze znane na przykład w C / C ++?
Czy jest coś takiego, bo na przykład zawsze jest to wykonywane w jednym przebiegu (wiersz po wierszu)?
Jeśli nie ma deklaracji forward, co powinienem zrobić, aby mój skrypt był bardziej czytelny. Jest dość długi i te definicje funkcji na początku, zmieszane ze zmiennymi globalnymi, sprawiają, że mój skrypt wygląda brzydko i jest trudny 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
}
źródło
main
w funkcji lub bezpośrednio po niejmain
(np.setup
LubparseArguments
). Unikam ustawiania zmiennych globalnych powyżejmain
- kod nie powinien wychodzić pozamain
.if _ _ name _ _ == "_ _ main _ _": main()
dzieje się w PythonieKiedy moje skrypty bash za bardzo się rozrastają, używam mechanizmu dołączania:
Plik
allMyFunctions
:Plik
main
:źródło
source allMyfunctions
?source
nie jest zgodny z POSIX.bash
definiujesource
jako alias do.
: są funkcjonalnie równoważne.