Где установить переменные среды на Mac
В командной строке переменные среды определяются для текущей оболочки и наследуются любой запущенной командой или процессом. Они могут определить что угодно: от оболочки по умолчанию, PATH, домашнего каталога пользователя до типа эмуляции терминала, текущего рабочего каталога, расположения файла истории, настроек языка и локализации, а также для включения переменных оболочки, которые включают все. от настроек до приглашения bash, цветного вывода ls и изменений внешнего вида терминала, псевдонимов и многого другого.
Давайте рассмотрим, как получить список переменных среды и оболочки, а затем как установить и добавить новые переменные среды в командной строке Mac OS X. Мы рассмотрим это как для оболочек bash, так и для оболочек zsh.
Отображение текущей среды и переменных оболочки в bash в Mac OS X
Чтобы быстро получить список переменных среды, вы можете использовать следующую команду с bash:
printenv
Чтобы получить список переменных окружения в zsh, используйте следующую команду: env
Или дополнительно:
echo $ENV_VAR
Если вы хотите увидеть полный список переменных оболочки, можно также ввести команду 'set':
установлен
Вывод этих команд может быть длинным, поэтому вы можете захотеть направить вывод через команды less или more.
Настройка переменных среды в командной строке macOS с помощью zsh
Оболочка zsh устанавливает переменные среды через файл zshenv, расположенный в домашнем каталоге пользователя по адресу:
~/.zshenv
Таким образом, вы можете добавить переменные окружения zsh, изменив этот файл с помощью nano, vim и т. д., или с помощью команды echo следующим образом:
echo 'export ENV_VAR=example' >> ~/.zshenv
Например:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
Настройка переменных окружения в командной строке Mac OS X с помощью bash
Поскольку Mac по умолчанию использует оболочку bash, вы можете установить переменные среды в пользовательских каталогах .bash_profile, для активной учетной записи пользователя путь к этому файлу находится по адресу:
~/.bash_profile
Если вы сменили оболочку или не уверены, какую оболочку используете, вы всегда можете проверить, введя команду echo $SHELL, которая покажет, какая оболочка используется. Мы предполагаем, что вы все еще используете оболочку bash по умолчанию в OS X, поэтому мы добавим новые переменные среды, изменив .bash_profile с помощью nano — вы можете использовать vi, emacs или другой текстовый редактор, если хотите, но мы рассмотрим нано из-за его простоты.
Начните с открытия .bash_profile в текстовом редакторе nano:
nano .bash_profile
Вы можете добавить переменные окружения и переменные оболочки в новые строки, если в файле .bash_profile уже есть данные, просто не забудьте добавить новые переменные в новую пустую строку с помощью клавиш со стрелками и ключ возврата по мере необходимости.
Давайте возьмем пример и скажем, что мы собираемся установить переменные среды JAVA_HOME и JRE_HOME в .bash_profile, добавив следующее в новые строки файла:
export JAVA_HOME=$(/usr/libexec/java_home) export JRE_HOME=$(/usr/libexec/java_home)
Предполагая, что мы закончили, сохраните изменения, внесенные в .bash_profile, нажав Control+o (это o, как в слове otter), затем выйдите из nano, нажав Control+X
Изменения и дополнения, внесенные в переменные среды, потребуют перезапуска оболочки или создания новой оболочки.
Установка временных переменных окружения в OS X
Стоит отметить, что вы также можете установить временные переменные среды в bash, используя команду «экспорт», хотя они будут сохраняться только до тех пор, пока текущая оболочка bash остается активной. Например, если вы хотите добавить временный путь к ~/bin/, вы можете использовать следующую команду:
export PATH=$PATH:~/bin
Опять же, команда 'export', запускаемая сама по себе и не содержащаяся в .bash_profile, будет только временной настройкой, и переменная окружения не будет сохраняться, пока вы не добавите ее в .bash_profile.
Если вы действительно хотите добавить новый PATH для использования, вы почти наверняка должны добавить его в .bash_profile, поместив в файл соответствующую команду экспорта.
Выходя за пределы оболочки bash, если вы изменили оболочку по умолчанию в приложении терминала с bash на tcsh, zsh, sh, ksh, fish или любую другую альтернативную оболочку, вам просто нужно чтобы изменить соответствующий профиль или файл rc для этой конкретной оболочки (.tschrc, .cshrc, .profile и т. д.).