Loading AI tools
Z Wikipedii, wolnej encyklopedii
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.
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.
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.
HKCU\Environment
.HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
.Trwałe zmiany są możliwe przez modyfikację rejestrów systemowych, ale także przez wybranie kolejno Właściwości systemu → Zaawansowane → Zmienne środowiskowe
(Właściwości systemu
są uruchamiane np. poprzez jednoczesne wciśnięcie klawiszy ⊞ Windows i Pause; w systemie Windows 7 analogiczne okienko jest uruchamianie dopiero po wejściu w Zaawansowane ustawienia systemu
).
Zmienne środowiskowe można także zmieniać z linii poleceń, ale tylko dla programów uruchamianych w ramach tejże 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 wyświetlić wszystkie zmienne (w przypadku bez podania parametrów) lub rozpoczynające się od wpisanych znaków (np. set Pa
wyświetli wszystkie zmienne zaczynające się na PA
).
Zmienne ustawia się wpisując polecenie w formacie:
set VAR=tu nowa wartość
Można także podać poprzednią wartość zmiennej np.:
set PATH=%PATH%;C:\Moja biblioteka
Uwaga: nazwy w nawiasach klamrowych są nazwami zależnymi od lokalnej konfiguracji systemu, np: {username} oznacza nazwę bieżącego użytkownika
Zmienna środowiskowa | Windows XP | Windows Vista / 7 / 8 / 8.1 / 10 |
---|---|---|
%ALLUSERSPROFILE% |
C:\Documents and Settings\All Users |
C:\ProgramData |
%APPDATA% |
C:\Documents and Settings\{username}\Application Data |
C:\Users\{username}\AppData\Roaming |
%COMPUTERNAME% |
{computername} |
{computername} |
%COMMONPROGRAMFILES% |
C:\Program Files\Common Files |
C:\Program Files\Common Files |
%COMMONPROGRAMFILES(x86)% |
C:\Program Files (x86)\Common Files |
C:\Program Files (x86)\Common Files |
%COMSPEC% |
C:\Windows\System32\cmd.exe |
C:\Windows\System32\cmd.exe |
%HOMEDRIVE% |
C:\ |
C:\ |
%HOMEPATH% |
\Documents and Settings\{username} |
\Users\{username} |
%PATH% |
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;{plus ścieżki programów} |
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;{plus ścieżki programów} |
%PATHEXT% |
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.WSF;.WSH |
.com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc |
%PROGRAMDATA% |
brak | C:\ProgramData |
%PROGRAMFILES% |
C:\Program Files |
C:\Program Files |
%PROGRAMFILES(X86)% |
C:\Program Files (x86) (tylko w wersji 64-bitowej) |
C:\Program Files (x86) (tylko w wersji 64-bitowej) |
%PROGRAMW6432% |
brak | C:\Program Files (tylko w wersji 64-bitowej) |
%PROMPT% |
Zazwyczaj $P$G |
Zazwyczaj $P$G |
%SYSTEMDRIVE% |
C: |
C: |
%SystemRoot% |
katalog Windows, zazwyczaj C:\Windows , dawniej C:\WINNT |
C:\Windows |
%TEMP% i %TMP% |
C:\Documents and Settings\{username}\Local Settings\Temp |
C:\Users\{username}\AppData\Local\Temp |
%USERNAME% |
{username} |
{username} |
%USERPROFILE% |
C:\Documents and Settings\{username} |
C:\Users\{username} |
%WINDIR% |
C:\Windows |
C:\Windows |
%PUBLIC% |
brak | C:\Users\Public |
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.
Wartość zmiennej o nazwie VAR
można sprawdzić poleceniem (odwołanie do wartości następuje przez znak $
przed nazwą zmiennej):
echo $VAR
Sposób ustawiania zmiennej jest zależny od rodzaju powłoki. Dla typowych powłok ustawienie zmiennej VAR
, aby zawierała wartość
wykonuje się w następujący sposób:
VAR=wartość
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.
setenv VAR wartość
export VAR=wartość
Usuwanie zmiennej środowiskowej wykonuje się poleceniem:
unset VAR
unsetenv VAR
Zmienna środowiskowa może występować jednocześnie jako wartość lewo- i prawostronna:
export PATH=$HOME/bin:$PATH:/usr/sbin
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.