Использование переменных среды
Shell использует переменные среды для хранения информации, такой как имя текущего пользователя, имя хоста и пути по умолчанию к любым командам. Переменные среды наследуются всеми командами, которые исполняются в контексте shell, и некоторыми командами, которые зависят от переменных среды.
Вы можете создать переменные среды и использовать их для управления работой команды, не изменяя саму команду. Например, с помощью переменной среды можно сделать так, чтобы команда печатала отладочную информацию в консоль.
Чтобы задать значение для переменной среды, свяжите имя переменной с требуемым значением при помощи соответствующей команды shell. Например, чтобы задать для переменной PATH значение /bin:/sbin:/user/bin:/user/sbin:/system/Library/
, необходимо ввести следующую команду в окне «Терминала».
$ PATH=/bin:/sbin:/user/bin:/user/sbin:/system/Library/ export PATH
Чтобы просмотреть все переменные среды, введите:
$ env
При запуске программы из shell программа наследует значительную часть среды shell, включая экспортированные переменные среды. Эта форма наследования может быть полезна для динамической настройки приложения. Например, программа может проверить наличие (или значение) переменной среды и изменить свою работу соответствующим образом.
Различные shell поддерживают различные семантики для экспорта переменных среды. Информацию см. на man-странице предпочитаемой shell.
Несмотря на то что дочерние процессы shell наследуют среду этой shell, различные shell имеют раздельные контексты исполнения, которые не делятся друг с другом информацией о среде. Переменные, заданные в одном окне Терминала, не передаются в другие окна Терминала.
После закрытия окна Терминала все переменные, которые Вы задали в этом окне, будут утрачены. Если Вы хотите, чтобы значение переменной сохранялось между различными сеансами и во всех окнах Терминала, настройте ее в загрузочном скрипте shell. Информацию об изменении загрузочного скрипта shell bash (~bashrc) для сохранения переменных и других настроек между сеансами см. в разделе «Invocation» на man-странице bash
.