Де встановити змінні середовища на Mac
У командному рядку змінні середовища визначаються для поточної оболонки та успадковуються будь-якою запущеною командою чи процесом. Вони можуть визначати будь-що: від оболонки за замовчуванням, PATH, домашнього каталогу користувача до типу емуляції терміналу, поточного робочого каталогу, де знаходиться файл історії, параметрів мови та локалізації, а також змінних оболонки, які включають усе від налаштувань до підказки bash, розфарбованого виведення ls і змін зовнішнього вигляду терміналу, псевдонімів і багато іншого.
Давайте розберемося, як перелічувати змінні середовища та оболонки, а потім, як установлювати та додавати нові змінні середовища в командному рядку Mac OS X. Ми розглянемо це як для оболонок bash, так і для zsh.
Відображення поточного середовища та змінних оболонки в bash на Mac OS X
Щоб швидко отримати список змінних середовища, ви можете використати таку команду з bash:
printenv
Щоб отримати список змінних середовища в zsh, скористайтеся такою командою: env
Або додатково:
echo $ENV_VAR
Якщо ви хочете побачити повний список змінних оболонки, також можна виконати команду 'set':
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, яка покаже, яка оболонка використовується. Ми припустимо, що ви все ще використовуєте оболонку OS X за замовчуванням bash, тому ми додамо нові змінні середовища, змінивши .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, використовуючи саму команду «export», хоча вони зберігатимуться лише до тих пір, поки поточна оболонка bash залишається активною. Наприклад, якщо ви хочете додати тимчасовий шлях до ~/bin/, ви можете використати таку команду:
export PATH=$PATH:~/bin
Знову ж таки, команда 'export', яка виконується самостійно і не міститься в .bash_profile, буде лише тимчасовим налаштуванням, а змінна середовища не буде зберігатися, доки ви не додасте її до .bash_profile.
Якщо ви справді бажаєте додати новий ШЛЯХ для використання, вам майже напевно слід додати його до .bash_profile, розмістивши відповідну команду експорту у файл.
Виходячи за межі оболонки bash, якщо ви змінили оболонку програми терміналу за замовчуванням з bash на tcsh, zsh, sh, ksh, fish або будь-яку іншу альтернативну оболонку, вам просто знадобиться щоб змінити відповідний профіль або файл rc для конкретної оболонки (.tschrc, .cshrc, .profile тощо).