19.14. Unikanie komunikatów „command not found” podczas korzystania z funkcji

Problem

Wielokrotnie korzystaliśmy z języków programowania, takich jak Perl, które pozwalają na umieszczenie wywołania funkcji w sekcji kodu, który jest zapisany przed definicją tej funkcji. W skryptach bash takie rozwiązanie nie działa poprawnie.

Rozwiązanie

Skrypty powłoki są odczytywane i wykonywane „wiersz po wierszu” od początku do końca pliku. Funkcje muszą więc być zdefiniowane przed ich wywołaniem.

Analiza

W niektórych językach programowania, w takich jak Perl, interpretacja kodu składa się z kilku etapów pośrednich. Dzięki nim cały skrypt jest analizowany jako jeden moduł. Rozwiązanie to umożliwia zapisanie kodu funkcji main() przed wywoływanymi funkcjami (lub procedurami). ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.