Переменные среды - переменные, набор динамических значений, которые могут повлиять на то как запущенные процессы будут себя вести на компьютере.
Описание
Во всех Unix и Unix-подобных системах, каждый процесс имеет свой собственный набор переменных среды. По умолчанию, созданный процесс наследует дублированную среду своего родительского процесса за исключением изменений, внесенных родительским процессом при создании данного процесса. На уровне системного программирования, эти изменения делаются между fork и exec. Кроме того, в командных оболочках, таких, как Bash, можно изменить значение переменных среды для конкретной команды непосредственным запуска через env или с использованием нотации ЗМИННА_СЕРЕДОВИЩА = ЗНАЧЕНИЕ <команда>.
Все операционные системы подобны Unix, а также DOS и Microsoft Windows имеют переменные среды, однако не все они используют одни и те же названия переменных.Программы, стартовавшие могут получить доступ к значениям переменных среды для целей конфигурации. Примеры переменных среды включают в себя:
- PATH в котором перечислены каталоги где находятся программы команд, названия которых пользователь может ввести свои.
- HOME указывает, где находится домашний каталог пользователя в файловой системе.
- TERM (Unix-подобные) определяет тип компьютерного терминала или эмулятора терминала (например vt100).
- CVS_RSH (Unix-подобные) используется для которых сообщить CVS RSH-подобную программу использовать.
- MAIL (Unix-подобные) используется, чтобы указать место почты пользователя.
Скрипты оболочки и командные файлы используют переменные среды для хранения временных значений с целью употребления позже в этом скрипте, а также чтобы сообщить дочерние процессы об изменении данных или наладок.
В большинстве систем изменение значения переменной среды в скрипте или в программе только влияет на процесс этого скрипта или в приложение и, возможно, на дочерние процессе. Базовый процесс системы и любые другие процессы не будут затронуты.
В Unix переменные среды в основном инициализируются при запуске системы системным скриптом и наследуются всеми другими процессами в системе. Пользователи добавляют их в профильный скрипт (. Profile). В Microsoft Windows, переменные среды обычно хранятся в реестре Windows или в autoexec.bat.
Ссылки на переменные среды
Переменные могут быть использованы как в скипти и так в командной строке. Как правило, на них ссылаются на с помощью специальных символов, спереди или вокруг названия переменной. Например, для ссылки на PATH в системе на DOS или Windows, пользователь может ввести следующую команду:
Также в DOS и Windows, команда set без всяких аргументов выводит все переменные среды вместе с их значениями. Для того чтобы посмотреть текущее значение конкретной переменной используют:
Для UNIX подобных с echo используется знак доллара:
Задание переменных среды
Для того чтобы изменить значение переменных среды применим:
set переменная = значение
Однако, это временно. Постоянное изменение значения переменной среды может быть достигнуто путем редактирования реестра (не рекомендуется для новичков), а также с помощью Windows Resource Kit и применения setx.exe. С внедрением Windows Vista, команда setx стала частью Windows. Наиболее распространенным методом определения переменных среды в Windows есть <Панель управления: Система: Дополнительно: Переменные среды>.
Для UNIX подобных есть env, set, и printenv команды чтобы показать все переменные среды и их значения. env, set также используется для установки переменных среды и зачастую включаются непосредственно в оболочку. printenv может также использоваться для печати одной переменной путем, что имя переменной в качестве единственного аргумента для команды.
В UNIX также могут быть использованы следующие команды в зависимости от определенной оболочки.
export ПЕРЕМЕННАЯ = значение # Bourne, Bash, и смежные оболочки
setenv ПЕРЕМЕННАЯ значение # csh и смежных оболочки