logo [8kb]
Zmienne środowiskowe
Zmienne środowiskowe (ang.environment variables)

Definują środowisko użytkownika, dostępne dla wszystkich procesów potomnych. Można je podzielić na:

  • globalne - widoczne w każdym podshellu
  • lokalne - widoczne tylko dla tego shella w którym został ustawione

    Aby bardziej uzmysłowić sobie różnicę między nimi zrób mały eksperyment: otwórz xterma (widoczny podshell) i wpisz:
    x="napis"
    echo $x
    xterm
    
    x="napis"   zdefiniowałeś właśnie zmienną x, która ma wartość "napis"
    echo $x     wyświetli wartość zmiennej x
    xterm        wywołanie podshella

    wpisz więc jeszcze raz:

    echo $x nie pokaże nic, bo zmienne lokalne nie są widoczne w podshellach

    Możesz teraz zainicjować zmienną globalną:

    export x="napis"

    Teraz zmienna x będzie widoczna w podshellach, jak widać wyżej służy do tego polecenie export, nadaje ono wskazanym zmiennym atrybut zmiennych globalnych. Jeśli napiszesz samo export, opcjonalnie export -p uzyskasz listę aktualnie eksportowanych zmiennych. Na tej liście przed nazwą każdej zmiennej znajduje się zapis:

    declare-x

    To wewnętrzne polecenie BASH-a, służące do definiowania zmiennych i nadawania im atrybutów, -x to atrybut eksportu czyli jest to, to samo co polecenie export. Ale tu uwaga! Polecenie declare występuje tylko w BASH-u, nie ma go w innych powłokach, natomiast export występuje w ksh, ash i innych, które korzystają z plików startowych /etc/profile. Dlatego też zaleca się stosowanie polecenia export.

    export -n zmienna

    spowoduje usunięcie atrybutu eksportu dla danej zmiennej

    Niektóre przykłady zmiennych środowiskowych:

    $HOME         #ścieżka do twojego katalogu domowego
    $USER         #twój login
    $HOSTNAME     #nazwa twojego hosta
    $OSTYPE       #rodzaj systemu operacyjnego
    
    itp. dostępne zmienne srodowiskowe można wyświetlić za pomoca polecenia:
    printenv | more
    

[ Index ] [ Zmienne programowe ] [ Zmienne specjalne ] [ Zmienne tablicowe ]