• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Zmienna środowiskowa

    Przeczytaj także...
    Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz OS X, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.Rejestr Windows, a dokładnie rejestr ustawień w systemach operacyjnych Windows – hierarchiczna baza danych konfiguracyjnych. Są w niej przechowywane informacje o konfiguracji i ustawieniach m.in. użytkowników, urządzeń podłączonych do komputera, a także zainstalowanych programów.
    Powłoka systemowa (ang. shell) – program komputerowy pełniący rolę pośrednika pomiędzy systemem operacyjnym lub aplikacjami a użytkownikiem, przyjmując jego polecenia i "wyprowadzając" wyniki działania programów. To pośrednictwo nie jest obowiązkowe (programy mogą być bardziej "samodzielne").

    Zmienna środowiskowa (ang. environment variable) to nazwana wartość, zazwyczaj zawierająca ciąg znaków, przechowywana i zarządzana przez powłokę. Zmienna środowiskowa może wpływać na działanie procesów uruchamianych w systemie operacyjnym i wtedy staje się pewnym mechanizmem komunikacji lub też przechowywać wartość w celu jej późniejszego wykorzystania.

    DOS (ang. Disk Operating System) – pierwszy przenośny (Disk) system operacyjny OS komputerów PC i mikrokomputerów lat 80. rezydujący nad BIOS-em, zawierający m.in. rozszerzenia programowe procedur sprzętowych BIOSu i interpreter komend. DOS zawiera niektóre doświadczenia systemu klasy CP/M.Powłoka systemowa Windows – bazowy program odpowiadający za interfejs graficzny systemu Windows, który uruchamiany jest tuż po zalogowaniu się użytkownika. W skład standardowej powłoki wchodzi między innymi Pulpit, menu Start oraz pasek zadań. Program ten odpowiedzialny jest za uruchamianie innych aplikacji, otwieranie dokumentów oraz zadania specjalne, takie jak obsługa paska zadań.

    W systemach uniksowych, a także w systemach DOS i Windows każdy proces posiada swój zestaw zmiennych środowiskowych. Nowo tworzony proces dziedziczy zmienne środowiskowe swojego procesu rodzicielskiego, chyba że ten ostatni zmieni wartości niektórych z nich podczas tworzenia procesu potomnego.

    Zmienne środowiskowe odgrywają ważną rolę i większość programów uzyskuje różne parametry poprzez zmienne środowiskowe.

    DOS i Windows[]

    Zakres zmiennych w Windows[]

    Zmienne ustawiane w powłoce systemu Windows (linii poleceń) nie mają wpływu na działanie innych programów. Po zamknięciu okna linii poleceń wszystkie ustawienia są tracone. Podobnie zmiany wprowadzone w systemie nie są widoczne od razu w ramach danej powłoki, ponieważ działa ona na kopii zmiennych środowiskowych.

    Aby zmiany w zmiennych środowiskowych były trwałe, muszą zostać zmienione odpowiednie wpisy w rejestrze systemowym.

  • Dla danego użytkownika zmienne są w gałęzi „HKCU\Environment”.
  • Ogólne zmienne znajdują się w gałęzi „HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment”.
  • Operacje na zmiennych[]

    Zmiany trwałe są możliwe przez modyfikację rejestrów, ale także przez Właściwości systemu → Zaawansowane → Zmienne środowiskowe (Właściwości systemu są uruchamiane np. przez wciśnięcie klawiszy Windows i Pause; w systemie Windows 7 analogiczne okienko jest uruchamianie dopiero po wejściu w „Zaawansowane ustawienia systemu”).

    Z linii poleceń można także zmieniać zmienne środowiskowe, ale tylko dla programów uruchamianych w ramach tej powłoki (zob. Zakres zmiennych w Windows).

    Wartość zmiennej o nazwie VAR można sprawdzić poleceniem:

    set VAR
    

    lub

    echo %VAR%
    

    Wszelkie odwołania do zmiennych wykonuje się poprzez umieszczenie nazwy zmiennej między znakami „%”. Wielkość liter w nazwie nie ma znaczenia („%var%” oraz „%VAR%” to odwołanie do tej samej zmiennej).

    Poleceniem set można także wyświetlić wszystkie zmienne (bez podania parametrów) lub rozpoczynające się od wpisanych znaków (np. „set Pa” wyświetli wszystkie zmienne na „PA”).

    Zmienne ustawia się wpisując polecenie set w formacie:

    set VAR=tu nowa wartość
    

    Można także podać poprzednią wartość zmiennej np.:

    set PATH=%PATH%;C:\Moja biblioteka
    

    Typowe wartości w systemach Windows[]

    Uwaga: {username} oznacza nazwę użytkownika

    Systemy rodziny Unix[]

    Zmienne[]

    Część zmiennych środowiskowych jest ustawiana przy starcie powłoki i nie można ich zmienić, np. USER (nazwa użytkownika), SHELL (używana powłoka).

    Część zmiennych środowiskowych można dowolnie ustawiać, ale są one niezbędne do prawidłowej pracy, np. PATH (zawiera listę kartotek, w których są poszukiwane programy).

    Pewna liczba zmiennych środowiskowych nie ma sformalizowanego znaczenia, ale tradycyjnie przyjęło się ich używać, np. EDITOR (wskazuje program używany jako domyślny edytor tekstu). Niektóre programy mają opisane jakie dodatkowe zmienne środowiskowe wpływają na ich działanie.

    Poza tym użytkownik może definiować w sposób zupełnie dowolny swoje zmienne i używać ich w dowolnym celu.

    Operacje na zmiennych[]

    Wartość zmiennej o nazwie VAR można sprawdzić poleceniem:

    echo $VAR
    

    odwołanie do wartości następuje przez znak $ przed nazwą zmiennej.

    Sposób ustawiania zmiennej jest zależny od rodzaju powłoki. Dla typowych powłok ustawienie zmiennej VAR aby zawierała wartosc: sh

    VAR=wartosc 
    export VAR
    

    W tym wypadku polecenie export nie jest niezbędne, decyduje ono czy powłoka potomna będzie miała ustawioną zmienną czy też zmienna pozostanie lokalna dla aktualnej powłoki. tcsh

    setenv VAR wartosc
    
    bash
    export VAR=wartosc
    

    Usuwamy zmienną poleceniem: sh, bash

    unset VAR
    
    tcsh
    unsetenv VAR
    

    Zmienna środowiskowa może występować jednocześnie jako wartość lewo- i prawostronna:

    export PATH=$HOME/bin:$PATH:/usr/sbin
    



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Reklama

    Czas generowania strony: 0.023 sek.