W powłoce mamy do czynienia z dwoma typami zasięgu:
- lokalnym (definiowane z użyciem znacznika local)
- globalnym (wszystkie pozostałe z wyjatkiem parametrów funkcji - dostęp do nich mozliwy jest z całego skryptu)
Poniższy skrypt demonstruje wykorzystanie zmiennych globalnych i lokalnych:
Podpowiedź
By w pełni zrozumieć zagadnienie zasięgu zamiennych polecam zapoznanie się z rozdziałem organizacja kodu w skryptach Bash.
#!/bin/bash
function wyswietl() {
local zmienna_lokalna=1024
zmienna_globalna_F=32
echo "zmienna_lokalna ma wartość: $zmienna_lokalna"
echo "zmienna_globalna_F ma wartość: $zmienna_globalna_F"
}
echo ":: === Wchodze do wyswietl"
wyswietl
echo ":: === Poza funkcją"
echo "zmienna_lokalna poza funkcją to: $zmienna_lokalna"
echo "zmienna_globalna_F poza funkcją to: $zmienna_globalna_F"
Po uruchomieniu otrzymamy następujący wynik:
:: === Wchodze do wyswietl
zmienna_lokalna ma wartość: 1024
zmienna_globalna_F ma wartość: 32
:: === Poza funkcją
zmienna_lokalna poza funkcją to:
zmienna_globalna_F poza funkcją to: 32
Zmienna lokalna w programie głównym nie ma żadnej wartości!.