Что такое переменные окружения?
Переменные окружения содержат значения, относящиеся к текущему окружению, такие как операционная система или пользовательские сессии.
Путь
Одна из самых известных переменных называется PATH
в Windows, Linux и Mac OS X. Она определяет каталоги, в которых находится исполняемый файл programs* на машине, которую можно запустить, не зная и не набирая весь путь к файлу в командной строке. (Или в Windows, в диалоге Run в меню “Пуск” или
+R). В Linux и Mac OS X, он обычно содержит все каталоги bin
и sbin
, относящиеся к текущему пользователю. В Windows он содержит как минимум каталоги C:\Windows
и C:\Windows\system32
- поэтому вы можете run calc.exe
или notepad.exe
из командной строки или диалога Run, но не firefox.exe
. (Firefox находится в C:\Program Files\Mozilla Firefox
. Для получения информации о том, как включить Firefox, перейдите здесь .)
Например, введя calc
(пропустить .exe
can) в командной строке на Windows, вы запустите калькулятор Windows.
* Можно добавить поддержку расширений файлов, отличных от .exe
, отредактировав %PATHEXT%
.
Other
Другие переменные могут подсказать программам, какой терминал используется (TERM
в Linux/Mac OS X), или, в Windows, где находится папка Windows (например, %WINDIR%
в Linux/Mac OS X), или, в Windows, где находится папка Windows (например, C:\Windows
can будет опущена), Control Panel » System » Advanced » Environment Variables
это control sysdm.cpl,,3
).
Создание новых переменных окружения
В Windows, Linux и Unix можно создавать новые переменные окружения, значения которых затем становятся доступными для всех программ при запуске.
Это можно использовать при написании скриптов или программ, которые установлены или развернуты на нескольких машинах и нуждаются в справочных значениях, характерных для этих машин. Хотя аналогичного эффекта можно добиться с помощью настроек конфигурации, специфичных для данной программы, проще сделать это с помощью переменной окружения, если нескольким программам нужно получить доступ к одному и тому же значению.
Windows
GUI
Открыть Environment Variables
.
Введите cmd.exe
в диалоге запуска (
+R) и нажмите echo %name%
.
Для редактирования пользовательских переменных вы также можете ввести
Щелкните правой кнопкой мыши (My) Computer (Мой) и выберите Properties (Свойства), или просто нажмите
+Break (Разрыв).
Есть много других способов достичь того же места, например, ввести “переменные окружения” в поисковом окне “Пусковое меню/Экран” и т.д.
Переменные окружения в Windows разделены на значения, специфичные для пользователя и машины/системы. Вы можете просмотреть и отредактировать их значения там. Их текущие значения при запуске доступны для всех программ.
Есть также Rapid Environment Editor , который помогает настроить и изменить переменные окружения в Windows без необходимости углубляться в системные настройки. Другая программа с открытым исходным кодом для Windows, с помощью которой можно очень удобно редактировать окружение пути, это Path Editor .
Командная строка
Формат
Переменные окружения в Windows обозначаются знаками процента (%), окружающими имя:
%name%
echo
Для отображения значения переменной окружения в set varname=value
, введите set varname=value;%varname%
.
C:\>echo %USERPROFILE%
C:\Users\Daniel
устанавливает
To create/set a variable, use setx varname "value"
:
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
To append/add a variable, use set
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
Environment variables set in this way is available for (the rest of) the duration of the Command Prompt process that they are set, and are available to processes that is launched after the variables were set.
setx
To create/set a variable permanently , используйте %PATH%
:
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
В отличие от C:\Program Files
, нет знака равенства и значение должно быть заключено в кавычки, если оно содержит пробелы. Обратите внимание, что переменные могут расширяться до строки с пробелами (например, setx
становится %WINDIR%
), поэтому лучше заключать кавычки вокруг значений, которые содержат любые переменные.
Вы должны вручную добавить %SystemRoot%
в версии Windows раньше, чем Vista. Инструменты поддержки Windows XP Service Pack 2
Список переменных окружения Windows
Здесь представляет собой список переменных окружения по умолчанию , которые встроены в Windows. Некоторые примеры:%USERPROFILE%
, %APPDATA%
, /etc
и /etc/profile
. Как и большинство имен в Windows, они не чувствительны к регистру.
Unix-деривативы (FreeBSD, GNU / Linux, OS X)
Переменные окружения в Linux префиксованы знаком доллара ($), например $HOME или $HOSTNAME. Многие известные и стандартные переменные пишутся заглавными буквами в знак этого. Помните, что имена переменных чувствительны к регистру, что означает, что $User и $USER совершенно не связаны с оболочкой.
производные Unix определяют переменные системного масштаба в скриптах оболочки, расположенных в основном в папке $HOME/.bash_profile
, но пользовательские значения могут быть заданы этим переменным в скриптах, расположенных в домашней папке (например, .profile
, export
). Файл env
в домашней папке является общим местом для определения пользовательских переменных.
Установка переменные
Эти файлы являются обычными командными сценариями и могут содержать не только объявления переменных окружения. Для установки переменной окружения используйте export
. Чтобы показать переменные окружения, определенные в данный момент, в терминале, выполните setenv
.
Команда /etc/paths
является стандартным способом определения переменных. Синтаксис очень интуитивен. Результат идентичен для этих двух строк, но первая альтернатива предпочтительнее в случае необходимости переноса в pre-POSIX оболочку Bourne.
var=value; export var
export var=value
Оболочка C и ее потомки используют совершенно другой синтаксис; вот, команда /bin
.
Смотрите проект документации по Linux, Path HOWTO для более подробного обсуждения этой темы.
Возможно, вопреки распространенному мнению, OS X больше “Unix”, чем Linux. В дополнение к уже упомянутым файлам, $PATH может быть изменён в этих файлах:
/usr/sbin
содержит все каталоги по умолчанию, которые добавляются в путь, такие как /etc/paths.d
и setx
.
- Любой файл в &007 - обычно используется инсталляторами для того, чтобы сделать доступными исполняемые файлы, которые они предоставляют, из оболочки командной строки, без прикосновения к общесистемным или пользовательским конфигурационным файлам. Эти файлы просто содержат по одному пути в строке, /Программы/Мозила/Календарь/бин.
Внешние ссылки:
Переменные окружения в XP
Поддержка Windows XP Service Pack 2 (Включает &007)
Переменные окружения в Windows Vista и Windows 7
Добавление исполняемых файлов в диалоговое окно запуска
Советы по Mac OSX - Настройка переменных окружения
[ TLDP: Path Howto ]‘(http://www.tldp.org/HOWTO/Path.html)