Co to są zmienne środowiskowe?
Zmienne środowiskowe przechowują wartości związane z bieżącym środowiskiem, takie jak system operacyjny lub sesje użytkownika.
Ścieżka
Jeden z najbardziej znanych nazywa się PATH
w systemach Windows, Linux i Mac OS X. Określa katalogi, w których na komputerze znajdują się programy wykonywalne *, które można uruchomić bez znajomości i wpisania całej ścieżki do pliku w wierszu poleceń . (Lub w systemie Windows okno dialogowe Uruchom w menu Start lub + R).
W systemach Linux i Mac OS X, to zwykle trzyma wszystko bin
i sbin
katalogów istotne dla bieżącego użytkownika. W systemie Windows zawiera przynajmniej katalogi C:\Windows
i C:\Windows\system32
- dlatego możesz uruchamiać calc.exe
lub notepad.exe
z poziomu wiersza poleceń lub okna dialogowego Uruchom , ale nie firefox.exe
. (Firefox znajduje się w C:\Program Files\Mozilla Firefox
. Aby uzyskać informacje o tym, jak dołączyć Firefox, przejdź tutaj .)
Na przykład wpisanie calc
( .exe
można pominąć) w wierszu poleceń w systemie Windows spowoduje uruchomienie kalkulatora Windows.
* Możesz dodać obsługę rozszerzeń plików innych niż .exe
poprzez edycję %PATHEXT%
.
Inny
Inne zmienne mogą informować programy, jakiego rodzaju terminal jest używany ( TERM
w systemie Linux / Mac OS X) lub, w systemie Windows, gdzie znajduje się folder Windows (np. %WINDIR%
Jest C:\Windows
).
Tworzenie nowych zmiennych środowiskowych
W systemach Windows, Linux i Unix możliwe jest tworzenie nowych zmiennych środowiskowych, których wartości są następnie udostępniane wszystkim programom po uruchomieniu.
Można tego użyć podczas pisania skryptów lub programów, które są instalowane lub wdrażane na wielu komputerach i muszą odwoływać się do wartości specyficznych dla tych komputerów. Podczas gdy podobny efekt można osiągnąć za pomocą ustawień konfiguracji specyficznych dla programu, łatwiej jest to zrobić za pomocą zmiennej środowiskowej, jeśli wiele programów potrzebuje dostępu do tej samej wartości.
Windows
GUI
Otwarte Control Panel » System » Advanced » Environment Variables
.
Wpisz control sysdm.cpl,,3
w oknie dialogowym Uruchom ( + R) i kliknij Environment Variables
.
Do edycji zmiennych użytkownika możesz także wpisać
%windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables
w oknie dialogowym Uruchom.
Kliknij prawym przyciskiem myszy (Mój) Komputer i kliknij Właściwości lub po prostu naciśnij + Break.
- W XP kliknij
Advanced » Environment Variables
.
- W Vista + kliknij
Advanced system settings » Environment Variables
.
Istnieje wiele innych sposobów dotarcia do tego samego miejsca, na przykład poprzez wpisanie „zmiennych środowiskowych” w polu wyszukiwania Menu Start / ekran i tak dalej.
Zmienne środowiskowe w systemie Windows są podzielone na wartości specyficzne dla użytkownika i maszyny / systemu. Możesz tam przeglądać i edytować ich wartości. Ich aktualne wartości po uruchomieniu są udostępniane wszystkim programom.
Dostępny jest również Rapid Environment Editor , który pomaga ustawiać i zmieniać zmienne środowiskowe w systemie Windows bez potrzeby wchodzenia w ustawienia systemowe. Innym programem typu open source dla systemu Windows, za pomocą którego można bardzo wygodnie edytować środowisko ścieżki, jest Edytor ścieżki .
Wiersz poleceń
Format
Zmienne środowiskowe w systemie Windows są oznaczone znakami procentowymi (%) otaczającymi nazwę:
%name%
Echo
Aby wyświetlić wartość zmiennej środowiskowej cmd.exe
, wpisz echo %name%
.
C:\>echo %USERPROFILE%
C:\Users\Daniel
zestaw
Aby utworzyć / ustawić zmienną, użyj set varname=value
:
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
Aby dodać / dodać zmienną, użyj set varname=value;%varname%
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
Zmienne środowiskowe ustawione w ten sposób są dostępne (przez resztę) czasu trwania wiersza polecenia, w którym są ustawione, i są dostępne dla procesów, które są uruchamiane po ustawieniu zmiennych.
setx
Aby utworzyć / ustawić zmienną na stałe , użyj setx varname "value"
:
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
W przeciwieństwie do tego set
nie ma znaku równości, a wartość powinna być ujęta w cudzysłów, jeśli zawiera spacje. Zauważ, że zmienne mogą rozwinąć się do ciągu ze spacjami (np. %PATH%
Staje się C:\Program Files
), dlatego najlepiej jest umieszczać cudzysłowy wokół wartości zawierających dowolne zmienne.
Musisz ręcznie dodać setx
do wersji systemu Windows wcześniejszej niż Vista.
Narzędzia obsługi systemu Windows XP z dodatkiem Service Pack 2
Lista zmiennych środowiska Windows
Oto lista domyślnych zmiennych środowiskowych wbudowanych w system Windows. Niektóre przykłady to:
%WINDIR%
, %SystemRoot%
, %USERPROFILE%
, i %APPDATA%
. Podobnie jak większość nazw w systemie Windows, wielkość liter nie uwzględnia wielkości liter.
Pochodne Unixa (FreeBSD, GNU / Linux, OS X)
Zmienne środowiskowe w systemie Linux są poprzedzone znakiem dolara ($), takim jak $ HOME lub $ HOSTNAME. Wiele dobrze znanych i standardowych zmiennych zapisanych jest dużymi literami, aby to dokładnie zaznaczyć. Pamiętaj, że w nazwach zmiennych rozróżniana jest wielkość liter, co oznacza, że $ User i $ USER są całkowicie niezwiązane z punktu widzenia powłoki.
Pochodne uniksowe definiują ogólnosystemowe zmienne w skryptach powłoki zlokalizowanych głównie w /etc
folderze, ale wartości specyficzne dla użytkownika mogą być podane tym zmiennym w skryptach znajdujących się w folderze domowym (np. /etc/profile
, $HOME/.bash_profile
). .profile
Plik w katalogu domowym jest częstym miejscem do definiowania zmiennych użytkownika.
Ustawianie zmiennych
Te pliki są zwykłymi skryptami powłoki i mogą zawierać więcej niż deklaracje zmiennych środowiskowych. Aby ustawić zmienną środowiskową, użyj export
. Aby wyświetlić aktualnie zdefiniowane zmienne środowiskowe w terminalu, uruchom env
.
export
Komenda jest standardowym sposobem definiowania zmiennych. Składnia jest bardzo intuicyjna. Wynik jest identyczny dla tych dwóch linii, ale pierwsza alternatywa jest lepsza w przypadku, gdy konieczna jest przenośność w stosunku do powłoki Bourne sprzed POSIX.
var=value; export var
export var=value
Powłoka C i jej potomkowie używają zupełnie innej składni; tam polecenie jest setenv
.
Zobacz projekt dokumentacji Linuksa, Path HOWTO, aby uzyskać bardziej szczegółową dyskusję na ten temat.
Być może wbrew powszechnemu przekonaniu OS X jest bardziej „uniksowy” niż Linux. Oprócz wspomnianych już plików $ PATH można modyfikować w tych plikach:
/etc/paths
zawiera wszystkie domyślne katalogi dodane do ścieżki, takie jak /bin
i /usr/sbin
.
- Dowolny plik
/etc/paths.d
- powszechnie używany przez instalatorów, aby udostępnić udostępniane przez nich pliki wykonywalne z powłoki bez dotykania ogólnosystemowych lub specyficznych dla użytkownika plików konfiguracyjnych. Te pliki zawierają po prostu jedną ścieżkę w wierszu. np. / Programs / Mozilla / Calendar / bin.
Linki zewnętrzne:
Zmienne środowiskowe w XP
Windows XP Service Pack 2 Narzędzia obsługi (w tym setx
)
Zmienne środowiskowe w Windows Vista i Windows 7
Dodawanie plików wykonywalnych do okna dialogowego Uruchom
Porady Mac OSX - Ustawianie zmiennych środowiskowych
TLDP: Ścieżka Howto