Zachowanie powłoki można skonfigurować ustawiając wartości specjalnym zmiennych. Oto lista kilku z nich:
PS1 definiuje zawartość znaku zachęty
HISTSIZE ilość zapamiętywanych poleceń w historii
IFS zmienna definiująca separator pól dla komendy read (domyślna wartość to białe znaki: spacja, tabulacja, nowa linia)
RANDOM losowa wartość całkowita
Listę wszystkich zmiennych oraz funkcji zadeklarowanych w bieżącej powłoce uzyskujemy za pomocą polecenia set. Więcej o tworzeniu i manipulowaniu zmiennymi powłoki znajduje się w rozdziale 4.4.
Zmienne można podzielić na zmienne powłoki (lokalne), które są dostępne wyłącznie w danej instancji powłoki oraz zmienne środowiskowe, które są dziedziczone przez procesy potomne.
Zmienne środowiskowe definiuje się poprzez wyeksportowanie zmiennych powłoki za pomocą komendy export, np.:
$ ZMIENNA=42
$ export ZMIENNA
lub krócej
$ export ZMIENNA=42
Zachowanie wielu programów zależne jest od ustawień konkretnych zmiennych środowiskowych. Aktualną listę zmiennych środowiskowych można uzyskać za pomocą polecenia printenv lub env.
Przykład typowych zmiennych środowiskowych:
PATH lista katalogów oddzielonych dwukropkiem. Katalogi te są przeszukiwane przez powłokę w poszukiwaniu programów do uruchomienia
USER nazwa użytkownika
HOME katalog domowy użytkownika
EDITOR domyślny edytor tekstu
LD_LIBRARY_PATH lista lokalizacji w których system poszukuje bibliotek
LANG, LANGUAGE, LC_ALL ustawienia lokalizacji (wersji językowej)
Aktualne ustawienia lokalizacji można sprawdzić za pomocą polecenia locale.
wyświetl ustawienia lokalizacji
Postać: locle [opcje]
Polecenie wyświetla wartości zmiennych odpowiedzialnych za lokalizację środowiska, takich jak, np,: LANG, LANGUAGE, LC_ALL.
Najważniejsze opcje:
-a wyświetli listę wszystkich zainstalowych w systemie lokalizacji
Ustawienie lokalizacji (np. języka polskiego) sprowadza się do ustawienia wartości zmiennych środowiskowych takich jak:
LANG podstawowa zmienna odpowiedzialna za ustawienia języka, używana gdy nie są zdefiniowane zmienne LC_*
LC_CTYPE kodowanie znaków używane do prezentacji tekstu
LC_NUMERIC formatowanie wartości liczbowych
LC_TIME formatowanie czasu i daty
LC_COLLATE określa sposób sortowania alfabetycznego
LC_MESSAGES język komunikatów systemu
LC_ALL nadpisuje wszystkie pozostałe ustawienia lokalizacji
Przykład ustawienia lokalizacji polskiej:
$ export LC_ALL=pl_PL.utf8
$ querty
bash: qwerty: nie znaleziono polecenia
Zmiana na inną lokalizację:
$ export LC_ALL=hu_HU.utf8
$ querty
bash: qwerty: parancs nem található
Dodanie wpisu o polskiej lokalizacji do pliku konfiguracyjnego powłoki:
$ echo export LC_ALL=pl_PL.utf8 >> /.bashrc