PATH (zmienna)
PATH – zmienna środowiskowa używana w systemach operacyjnych do określania zestawu katalogów, gdzie zlokalizowane są programy komputerowe w celu ich uruchomienia. W ogólności, każdy proces i każda sesja użytkownika posiada własne ustawienie zmiennej PATH.
Unix i Linux
W standardzie POSIX oraz w systemach operacyjnych Unix i Uniksopodobnych (Linux, Mac OS, OS X), zmienna środowiskowa $PATH
określana jest jako lista jednego lub więcej katalogów, oddzielonych znakiem dwukropka (:
)[1][2]. Niedozwolone są spacje między nazwami ścieżek w łańcuchu[2].
Takie katalogi jak: /bin
, /usr/bin
, czy /usr/local/bin
są zazwyczaj już ustawione w większości środowisk użytkownika (chociaż zależy to od konkretnej implementacji) danego systemu operacyjnego. Czasami uwzględniony jest również katalog bieżący (.
), pozwalając na wykonywanie programów z katalogu, w którym aktualnie znajduje się użytkownik.
Zasada działania
W momencie wydania przez użytkownika dowolnego polecenia, system przeszukuje ścieżki po każdym elemencie po kolei (w kierunku od lewej do prawej), szukając nazwy pliku, który pasuje do nazwy wydanego polecenia. Jeżeli taki program zostanie odnaleziony, zostanie on wykonany jako proces potomny powłoki systemowej lub programu, który go wywołał. Jeżeli program nie zostanie odnaleziony, użytkownik otrzyma odpowiedni komunikat o nieodnalezieniu żądanego programu.
DOS, OS/2, Windows
W systemach operacyjnych DOS, OS/2 oraz Microsoft Windows, zmienna środowiskowa %PATH%
określana jest jako lista jednego lub więcej katalogów, oddzielonych znakiem średnika (;
)[3].
Katalog systemowy Windows (zwykle C:\WINDOWS\system32
) jest zazwyczaj podany jako pierwszy w zmiennej PATH. Z czasem życia systemu przed katalogiem systemowym, mogą pojawiać się ścieżki do katalogów, gdzie instalowane są nowe programy (zwykle ścieżki odnoszące się do katalogu C:\Program Files
). W przypadku dużej ilości nowo instalowanego oprogramowania, rozrost zmiennej PATH może powodować spowolnienie systemu przez szukanie programów w zbyt wielu miejscach lub lokalizacjach, które zostały usunięte (w przypadku odinstalowywania oprogramowania).
Wyświetlanie zmiennej PATH
W celu wyświetlenia zawartości zmiennej PATH należy użyć polecenia echo
:
- Systemy Unix/Linux:
$ echo $PATH /bin:/usr/bin:/usr/local/bin
- Systemy Windows:
cmd> echo %PATH% C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
Modyfikowanie zmiennej PATH
Dodawanie nowych ścieżek do zmiennej środowiskowej PATH może mieć charakter globalny (na stałe) lub w ramach bieżącej sesji użytkownika (nietrwale).
W ramach bieżącej sesji użytkownika
Ustawianie zmiennej PATH w ramach bieżącej sesji użytkownika jest trwałe do czasu wylogowania się użytkownika lub do momentu restartu systemu operacyjnego.
- W systemach Unix/Linux używa się polecenia
export
:
$ export PATH=$HOME/mybin:$PATH
- W systemach Windows używa się polecenia
set
:
$ set PATH=C:\mybin;%PATH%