Что такое переменные среды?
Переменные среды содержат значения, связанные с текущей средой, такой как операционная система или пользовательские сеансы.
Дорожка
Один из самых известных называется PATH
в Windows, Linux и Mac OS X. Он определяет каталоги, в которых исполняемые программы * находятся на компьютере, которые можно запускать, не зная и не вводя полный путь к файлу в командной строке. , (Или в Windows, диалоговое окно « Выполнить » в меню «Пуск» или « +» R).
В Linux и Mac OS X он обычно содержит все bin
и sbin
каталоги, относящиеся к текущему пользователю. В Windows, она содержит , по крайней мере, C:\Windows
и C:\Windows\system32
каталоги - именно поэтому вы можете запустить calc.exe
или notepad.exe
из командной строки или запустить диалог, но не firefox.exe
. (Firefox находится в C:\Program Files\Mozilla Firefox
. Для получения информации о том, как включить Firefox, перейдите сюда .)
Например, ввод calc
( .exe
можно опустить) в командной строке в Windows запустит калькулятор Windows.
* Вы можете добавить поддержку расширений файлов, кроме .exe
редактирования %PATHEXT%
.
Другие
Другие переменные могут сообщать программам, какой тип терминала используется ( TERM
в Linux / Mac OS X) или в Windows, где находится папка Windows (например, %WINDIR%
есть C:\Windows
).
Создание новых переменных среды
В Windows, Linux и Unix можно создавать новые переменные среды, значения которых затем становятся доступными для всех программ при запуске.
Это можно использовать при написании сценариев или программ, которые установлены или развернуты на нескольких компьютерах и которым необходимо ссылаться на значения, характерные для этих компьютеров. Хотя подобный эффект может быть достигнут с помощью параметров конфигурации, специфичных для программы, это проще сделать с помощью переменной среды, если нескольким программам необходим доступ к одному значению.
Windows
графический интерфейс пользователя
Open Control Panel » System » Advanced » Environment Variables
.
Введите control sysdm.cpl,,3
в диалоговом окне «Выполнить» ( + R) и нажмите Environment Variables
.
Для редактирования пользовательских переменных вы также можете набрать
%windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables
в диалоговом окне «Выполнить».
Щелкните правой кнопкой мыши (Мой) компьютер и выберите Свойства или просто нажмите + Break.
- В XP нажмите на
Advanced » Environment Variables
.
- В Vista + нажмите на
Advanced system settings » Environment Variables
.
Есть много других способов добраться до того же места, например, введя «переменные среды» в меню «Пуск» / «Экран поиска» и т. Д.
Переменные среды в Windows разделяются на значения, специфичные для пользователя и компьютера / системы. Вы можете просматривать и редактировать их значения там. Их текущие значения при запуске становятся доступными для всех программ.
Существует также Rapid Environment Editor , который помогает устанавливать и изменять переменные среды в Windows без необходимости углубляться в системные настройки. Еще одна программа с открытым исходным кодом для Windows, с помощью которой можно легко редактировать среду пути, - это редактор путей .
Командная строка
Формат
Переменные среды в Windows обозначены символом процента (%), окружающим имя:
%name%
эхо
Чтобы отобразить значение переменной среды cmd.exe
, введите echo %name%
.
C:\>echo %USERPROFILE%
C:\Users\Daniel
установлен
Чтобы создать / установить переменную, используйте set varname=value
:
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
Чтобы добавить / добавить переменную, используйте set varname=value;%varname%
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
Переменные среды, установленные таким образом, доступны в течение (остальной части) процесса командной строки, в котором они установлены, и доступны процессам, которые запускаются после того, как переменные были установлены.
Setx
Чтобы создать / установить переменную постоянно , используйте 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
В отличие от этого set
, знак равенства отсутствует, и значение должно быть заключено в кавычки, если оно содержит пробелы. Обратите внимание, что переменные могут расширяться до строки с пробелами (например, %PATH%
становится C:\Program Files
), поэтому лучше включать кавычки вокруг значений, которые содержат любые переменные.
Вы должны вручную добавить setx
в версии Windows ранее, чем Vista.
Средства поддержки Windows XP с пакетом обновления 2 (SP2)
Список переменных среды Windows
Вот список переменных среды по умолчанию , которые встроены в Windows. Вот некоторые примеры:
%WINDIR%
, %SystemRoot%
, %USERPROFILE%
, и %APPDATA%
. Как и большинство имен в Windows, они не чувствительны к регистру.
Производные Unix (FreeBSD, GNU / Linux, OS X)
Переменные среды в Linux имеют префикс со знаком доллара ($), такой как $ HOME или $ HOSTNAME. Многие известные и стандартные переменные прописаны заглавными буквами, чтобы обозначить именно это. Помните, что имена переменных чувствительны к регистру, а это означает, что $ User и $ USER совершенно не связаны с точки зрения оболочки.
Производные Unix определяют общесистемные переменные в сценариях оболочки , расположенных в основном в /etc
папке, но значения определенного пользователя может быть переданы этими переменными в сценарии , расположенных в домашней папке (например, /etc/profile
, $HOME/.bash_profile
). .profile
Файл в домашней папке является общим местом для определения пользовательских переменных.
Установка переменных
Эти файлы являются обычными сценариями оболочки и могут содержать не только объявления переменных среды. Чтобы установить переменную среды, используйте export
. Чтобы показать свои текущие переменные среды в терминале, запустите env
.
Команда export
является стандартным способом определения переменных. Синтаксис очень интуитивно понятен. Результат для этих двух линий одинаков, но первая альтернатива предпочтительнее в случае, если необходима переносимость до предварительной версии POSIX Bourne.
var=value; export var
export var=value
Оболочка C и ее потомки используют совершенно другой синтаксис; там команда есть setenv
.
Посмотрите проект документации Linux, Path HOWTO для более подробного обсуждения этой темы.
Возможно, вопреки распространенному мнению, OS X является более "Unix", чем Linux. В дополнение к уже упомянутым файлам $ PATH можно изменить в этих файлах:
/etc/paths
содержит все каталоги по умолчанию, которые добавляются к пути, как /bin
и /usr/sbin
.
- Любой файл, который
/etc/paths.d
обычно используется установщиками, чтобы сделать исполняемые файлы, которые они предоставляют, доступными из оболочки, не затрагивая общесистемные или пользовательские файлы конфигурации. Эти файлы просто содержат один путь на строку. Например, / Программы / Mozilla / Календарь / bin.
Внешняя ссылка:
Переменные среды в XP
Средства поддержки Windows XP с пакетом обновления 2 (включает в себя setx
)
Переменные среды в Windows Vista и Windows 7
Добавление исполняемых файлов в диалоговое окно «Выполнить»
Советы по Mac OSX - Настройка переменных среды
TLDP: Path Howto