13 Powłoka bash

13.2 Zmienne powłoki i środowiska

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