Введение
Переменные среды — это способ хранения значений на локальной машине (той, на которой запущена программа). Например, вы можете сохранить идентификатор пользователя, который будет использоваться для входа в систему. Вы также можете использовать переменные среды для хранения параметров конфигурации, таких как имя подключения к базе данных.
При настройке переменных среды важно учитывать последствия для безопасности. Если злоумышленник сможет получить доступ к вашим переменным среды, он может получить доступ к конфиденциальной информации, такой как имя пользователя и пароль. Поэтому важно защитить имена переменных среды.
Новички в Mac могут быть перегружены тем, как устанавливать и управлять этими переменными среды. В этом руководстве представлены простые способы сделать это.
Просмотрите текущие переменные среды
Чтобы просмотреть все переменные среды, откройте терминал в macOS и введите:
printenv
Мы также можем использовать команду echo для печати значений определенных переменных среды:
echo $JAVA_HOME
/usr/local/Cellar/openjdk@11/11.0.16.1/libexec/openjdk.jdk/Contents/Home
По умолчанию большинство дистрибутивов Linux представляют переменные среды в виде пар ключ=значение (например, ключ=”значение”). Эти пары обычно хранятся в таких файлах, как /etc/paths
или /etc/defaults/key1
или в других местах. В некоторых случаях их можно раскрыть, поместив специальные записи в файл оболочки .bashrc
или .profile
.
Установите временную переменную среды
Временная переменная среды — это переменная, определенная в буфере процесса, которая существует только во время выполнения программы. Он теряется при завершении программы или если процесс завершается и становится недоступным для других программ. Значение временной переменной среды теряется, когда процесс приложения завершается или завершается. Значение временной переменной среды можно получить с помощью инструмента Process Monitor.
export MY_VAR=value
Затем напечатайте значение, если MY_VAR с помощью команды echo
:
export $MY_VAR
Вы увидите присвоенное значение в качестве вывода. Но если вы откроете новый терминал и попытаетесь напечатать ту же самую переменную.
Таким образом, областью действия переменной среды, экспортируемой вручную, является только активная оболочка.
Установите постоянную переменную среды
Постоянная переменная среды определяется в файле конфигурации приложения. Он сохраняется даже после fork и exec и доступен для использования всеми процессами в одном и том же контексте выполнения (то есть всеми процессами на одном компьютере). Постоянные переменные среды не теряются при завершении процесса приложения или при его завершении.
Поскольку последняя версия macOS использует оболочку Zsh, мы можем добавить переменные среды в файл ~//.zshrc
или ~/.zshenv
для текущего пользователя. Например, чтобы создать переменную среды JAVA_HOME
, а также обновить PATH
, чтобы включить JAVA_HOME
. Отредактируйте ~/.zshenv
и добавьте следующие значения:
export JAVA_HOME=$(/usr/libexec/java_home -v11)
export PATH="$JAVA_HOME/bin:$PATH"
Первая строка устанавливает переменную среды JAVA_HOME, а вторая команда добавляет каталог bin Java к переменной среды PATH.
Вывод
Более ранние версии, чем macOS 10.15, по умолчанию используют оболочку Bash. Редактирование этого пользователя ~/bash_profile
для добавления постоянных переменных среды.