local
- local – polecenie wbudowane w Bash (oraz niektóre inne powłoki), które pozwala deklarować zmienne lokalne w kontekście funkcji.
- Zmienne lokalne istnieją tylko w czasie wykonywania funkcji i nie wpływają na zmienne o tej samej nazwie poza nią.
- Stosowane do izolowania danych i unikania konfliktów nazw w skryptach.
Składnia
Dział zatytułowany „Składnia”local [opcje] nazwa[=wartość] ...
- Można deklarować wiele zmiennych jednocześnie.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
nazwa | Nazwa zmiennej lokalnej |
=wartość | Opcjonalna wartość przypisana w momencie deklaracji |
--help | Wyświetla pomoc dotyczącą wbudowanych poleceń powłoki |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# Deklaracja zmiennej lokalnej w funkcjimoja_funkcja() { local licznik=5 echo "Licznik w funkcji: $licznik"}
# Zmienna poza funkcją nie jest modyfikowanalicznik=10moja_funkcja
echo "Licznik poza funkcją: $licznik"
# Deklaracja kilku zmiennych narazmoja_inna_funkcja() { local a=1 b=2 c=3 echo "$a $b $c"}
- Pierwszy przykład pokazuje izolację zmiennej w funkcji.
- Drugi demonstruje brak wpływu na zmienną globalną o tej samej nazwie.
- Trzeci pokazuje deklarację wielu zmiennych jednocześnie.
- local działa tylko wewnątrz funkcji powłoki lub w trybie
source
w pliku skryptu. - Nie jest standardem POSIX – w powłokach zgodnych z POSIX (np. dash) nie występuje.
- W niektórych powłokach (np. zsh) zachowuje się podobnie, ale może mieć dodatkowe opcje.
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 |
---|---|---|
local: can only be used in a function | Użycie local poza funkcją | Przenieś deklarację do wnętrza funkcji |
command not found: local | Powłoka nie obsługuje local | Użyj powłoki Bash lub declare jako alternatywy |
Linki i źródła
Dział zatytułowany „Linki i źródła”- Bash Manual – local – dokumentacja GNU Bash.
- man bash – szczegóły dotyczące poleceń wbudowanych.
- Linux Handbook – local command – poradnik praktyczny.