caller
- caller – wbudowana komenda bash służąca do sprawdzania kontekstu wywołania funkcji w skryptach.
- Pomaga w debugowaniu i śledzeniu stosu wywołań funkcji.
- Dostępna w bash oraz powłokach zgodnych z POSIX.
Składnia
Dział zatytułowany „Składnia”caller [poziom]
- Bez parametrów – pokazuje kontekst bieżącej funkcji.
- Z parametrem – pozwala przejrzeć wcześniejsze poziomy stosu wywołań.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
poziom | (Opcjonalny) Liczba całkowita określająca poziom stosu wywołań (0 – bieżąca funkcja, 1 – funkcja nadrzędna itd.). |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# Przykład 1: Wyświetlenie informacji o aktualnym wywołaniucaller
# Przykład 2: Funkcja pomocnicza z debugowaniemlog_caller() { echo "Wywołana przez: $(caller)"}
# Przykład 3: Sprawdzenie kilku poziomów wywołańf1() { f2; }f2() { f3; }f3() { caller 0; caller 1; caller 2; }f1
- Zwracane informacje:
caller
zwraca numer linii, nazwę funkcji oraz plik, w którym została wywołana. - Działa tylko w funkcjach: poza kontekstem funkcji może nie zwrócić żadnej wartości.
- Pomocne w debugowaniu: często wykorzystywane w większych skryptach do śledzenia źródła błędów.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
Brak wyniku | caller uruchomiony poza funkcją | Użyj caller wewnątrz funkcji lub głębszego stosu wywołań. |
bash: caller: line N: invalid number | Nieprawidłowy parametr | Upewnij się, że podajesz liczbę całkowitą jako poziom stosu. |
Linki i źródła
Dział zatytułowany „Linki i źródła”- GNU Bash Manual – caller – oficjalna dokumentacja.
- Bash Hackers Wiki – caller – przykłady i zastosowania.