Что такое переменные среды?
Переменные среды содержат значения, связанные с текущей средой, такой как операционная система или пользовательские сеансы.
Дорожка
Один из самых известных называется 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
графический интерфейс пользователя
Откройте Control Panel » System » Advanced » Environment Variables
.
Введите control sysdm.cpl,,3
в диалоговом окне "Выполнить" (+ R) и нажмите Environment Variables
.
Для редактирования пользовательских переменных вы также можете набрать
%windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables
в диалоговом окне "Выполнить".
Щелкните правой кнопкой мыши (Мой) компьютер и выберите Свойства или просто нажмите + Перерыв .
- В 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: Путь Howto