O'Reilly logo

Bash. Receptury by Cameron Newham, JP Vossen, Carl Albing

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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). ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required