- Использование переменных среды в Терминале на Mac
- Добавить переменную в $PATH macOS
- Новая переменная $PATH macOS для текущего пользователя
- Новая переменная $PATH macOS для всех пользователей
- Где установить переменные окружения в Mac OS X 2021
- Полный обзор Mac OS X 10.11 El Capitan
- Отображение текущей среды и переменных оболочки в Mac OS X
- Установка переменных среды в командной строке Mac OS X
- Установка Временных переменных среды в OS X
- Установите переменные среды в Mac OS X Lion
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Упрощенное объяснение
- Что это значит
- Ответ 7
- Ответ 8
- Установите переменную среды PATH в Mac OS
- Ответ 9
- Добавление переменных пути к OS X Lion
- Ответ 10
- Ответ 11
- Ответ 12
- Ответ 13
- Ответ 14
- Ответ 15
Использование переменных среды в Терминале на Mac
Shell использует переменные среды для хранения информации, такой как имя текущего пользователя, имя хоста и пути по умолчанию к любым командам. Переменные среды наследуются всеми командами, которые исполняются в контексте shell, и некоторыми командами, которые зависят от переменных среды.
Вы можете создать переменные среды и использовать их для управления работой команды, не изменяя саму команду. Например, с помощью переменной среды можно сделать так, чтобы команда печатала отладочную информацию в консоль.
Чтобы задать значение для переменной среды, свяжите имя переменной с требуемым значением при помощи соответствующей команды shell. Например, чтобы задать для переменной PATH значение /bin:/sbin:/user/bin:/user/sbin:/system/Library/ , необходимо ввести следующую команду в окне «Терминала».
Чтобы просмотреть все переменные среды, введите:
При запуске приложения из shell приложение наследует значительную часть среды shell, в том числе экспортированные переменные среды. Эта форма наследования может быть полезна для динамической настройки приложения. Например, приложение может проверить наличие (или значение) переменной среды и изменить свою работу соответствующим образом.
Различные shell поддерживают различные семантики для экспорта переменных среды. Cм. man‑страницу предпочитаемой Вами оболочки shell.
Несмотря на то что дочерние процессы shell наследуют среду этой shell, различные shell имеют раздельные контексты исполнения, которые не делятся друг с другом информацией о среде. Переменные, заданные в одном окне Терминала, не передаются в другие окна Терминала.
После закрытия окна Терминала все переменные, которые Вы задали в этом окне, больше не доступны. Если Вы хотите, чтобы значение переменной сохранялось между различными сеансами и во всех окнах Терминала, настройте ее в загрузочном скрипте shell. Об изменении загрузочного скрипта оболочки zsh для сохранения переменных и других настроек между сеансами см. в разделе Invocation на man-странице оболочки zsh.
Источник
Добавить переменную в $PATH macOS
Если скитание по интернету не дают вам ответа, как добавить переменную в $PATH macOS, то на сайте Я Знаю! Вы найдете простое решение!
Новая переменная $PATH macOS
для текущего пользователя
Для того чтобы раз и навсегда добавить новую переменную в $PATH macOS для текущего пользователя необходимо выполнить несложные действия в терминале.
Найдите в меню Launchpad приложение «Терминал» и запустите его. Введите команду для перехода в домашний каталог:
- После чего приступите к редактированию файла .bash_profile:
- Добавьте ваш путь к команде или скрипту:
- Сохраните изменения с помощью нескольких комбинации клавиш
- CTRL O
- CTRL X
Полностью закройте приложение Терминал и снова запустите его, проверьте добавилась ли ваша новая переменная в $PATH:
Новая переменная $PATH macOS
для всех пользователей
Найдите в меню Launchpad приложение «Терминал» и запустите его, введите команду:
Добавьте путь к команде или скрипту:
- Сохраните изменения с помощью нескольких комбинации клавиш
- CTRL O
- CTRL X
- Проверьте наличие новой переменной:
Вот и все! Теперь вы знаете как добавить переменную в $PATH macOS!
Источник
Где установить переменные окружения в Mac OS X 2021
Полный обзор Mac OS X 10.11 El Capitan
В командной строке переменные среды определяются для текущей оболочки и становятся наследуемыми любой запущенной командой или процессом. Они могут определять что угодно, от оболочки по умолчанию, PATH, домашнего каталога пользователей, до типа эмуляции терминала, текущего рабочего каталога, в котором находится файл истории, настройки языка и локализации, и далее включать переменные оболочки, которые включают все от настроек до приглашения bash, цветного вывода ls, изменений внешнего вида терминала, псевдонимов и многого другого.
Давайте рассмотрим, как перечислять переменные среды и оболочки, а затем как устанавливать и добавлять новые переменные среды в командной строке Mac OS X.
Отображение текущей среды и переменных оболочки в Mac OS X
Чтобы быстро получить список переменных среды, вы можете использовать следующую команду:
Если вы хотите увидеть полный список переменных оболочки, можно также выполнить команду ‘set’:
Вывод этих команд может быть длинным, поэтому вы можете захотеть передать вывод через команды less или more.
Установка переменных среды в командной строке Mac OS X
Поскольку по умолчанию Mac использует оболочку bash, вы можете установить переменные окружения в пользовательских каталогах .bash_profile, для активной учетной записи пользователя путь к этому файлу находится по адресу:
Если вы изменили свою оболочку или не уверены, какую оболочку вы используете, вы всегда можете проверить, введя команду echo $ SHELL, которая покажет, какая оболочка используется. Мы предполагаем, что вы все еще используете оболочку bash по умолчанию для OS X, поэтому мы добавим новые переменные окружения, изменив .bash_profile с помощью nano — вы можете использовать vi, emacs или другой текстовый редактор, если хотите, но мы рассмотрим нано для простоты.
Начните с открытия .bash_profile в текстовом редакторе nano:
Вы можете добавить переменные окружения и переменные оболочки в новые строки, если в файле .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, как в выдре), затем выйдите из nano, нажав Control + X
Изменения и дополнения, внесенные в переменные среды, потребуют перезапуска оболочки или появления новой оболочки.
Установка Временных переменных среды в OS X
Стоит отметить, что вы также можете установить временные переменные среды в bash, используя саму команду «export», хотя они будут сохраняться только до тех пор, пока текущая оболочка bash остается активной. Например, если вы хотите добавить временный путь к
/ bin /, вы можете использовать следующую команду:
Опять же, команда «export», запускаемая сама по себе и не содержащаяся в .bash_profile, будет только временной настройкой, и переменная среды не будет сохраняться, пока вы не добавите ее в .bash_profile.
Если вы действительно хотите добавить новый PATH для использования, вы почти наверняка должны добавить его в .bash_profile, поместив соответствующую команду экспорта в файл.
Выходя за пределы оболочки bash, если вы изменили стандартную оболочку приложения терминала с bash на tcsh, zsh, sh, ksh, fish или любую другую альтернативную оболочку, вам просто нужно изменить соответствующий профиль или файл rc. для этой конкретной оболочки (.tschrc, .cshrc, .profile и т. д.).
Источник
Установите переменные среды в Mac OS X Lion
Когда кто-то говорит «отредактируйте файл .plist» или «ваш .profile» или «.bash_profile» и т.д., это меня просто смущает. Я не знаю, где эти файлы, как их создавать, если я должен это делать и т.д., А также почему, похоже, так много разных (почему? Они делают разные вещи?)
Так может кто-то, может быть, очень терпеливо объяснить предыдущему пользователю Windows (желая отчаянно лучше познакомиться с приятным, если вначале несколько запутанным миром OS X), как это сделать шаг за шагом?
Мне нужны переменные, которые должны быть установлены как для приложений GUI, так и для приложений командной строки, и в настоящий момент для ant script, которым нужны переменные, но, скорее всего, будут другие потребности.
Обратите внимание, что у меня тоже есть Лев, так как многие ответы, которые вы получаете, выглядят устаревшими для Лев.
Также обратите внимание, что у меня практически нет опыта использования терминала. Я хочу учиться, но, пожалуйста, объясните для новичков.
ОТВЕТЫ
Ответ 1
Во-первых, одна вещь, чтобы узнать о OS X, заключается в том, что она построена на Unix. Здесь появляется файл .bash_profile. Когда вы запускаете приложение Terminal в OS X, по умолчанию вы получаете оболочку bash. Оболочка bash поставляется из Unix и при загрузке запускает файл .bash_profile script. Вы можете изменить этот script, чтобы пользователь мог изменить ваши настройки. Этот файл находится по адресу:
Обновление для Mavericks
OS X Mavericks не использует environment.plist — по крайней мере, не для оконных приложений OS X. Вы можете использовать конфигурацию запуска для оконных приложений. Файл .bash_profile по-прежнему поддерживается, поскольку он является частью оболочки bash, используемой в терминале.
Только лев и горный лев
Оконные приложения OS X получают переменные среды из файла environment.plist. Вероятно, это означает, что вы используете файл «.plist». Этот файл находится по адресу:
Если вы внесете изменения в файл environment.plist, тогда приложения Windows OS X, включая приложение Terminal, будут иметь эти переменные окружения. Любая переменная среды, заданная в вашем .bash_profile, затронет только ваши оболочки bash.
Обычно я устанавливаю только переменные в файле .bash_profile и не изменяю файл .plist(или файл запуска на Mavericks). Большинство оконных приложений OS X не нуждаются в какой-либо настраиваемой среде. Только когда приложение действительно нуждается в определенной переменной среды, я должен изменить файл environment.plist(или файл запуска на Mavericks).
Похоже, что вы хотите изменить файл environment.plist, а не файл .bash_profile.
Последнее, если вы ищете эти файлы, я думаю, вы их не найдете. Если я правильно помню, они не были на моей начальной установке Льва.
Изменить: Вот несколько инструкций по созданию файла plist.
- Открыть Xcode
- Выберите Файл → Новый → Новый файл.
- В Mac OS X выберите «Ресурсы»
- Выберите файл plist
- Следуйте остальным запросам
Чтобы отредактировать файл, вы можете нажать «Control», чтобы получить меню и выбрать «Добавить строку». Затем вы можете добавить пару ключевых значений. Для переменных среды ключ — это имя переменной среды, а значение является фактическим значением для этой переменной среды.
Как только файл plist будет создан, вы можете открыть его с помощью Xcode, чтобы изменить его в любое время.
Ответ 2
Ваш .profile или .bash_profile — это просто файлы, которые присутствуют в вашей «домашней» папке. Если вы откроете окно Finder и нажмете имя своей учетной записи на панели «Избранное», вы их не увидите. Если вы откроете окно терминала и ls для просмотра списка файлов, вы все равно их не увидите. Однако вы можете найти их, используя ls -a в терминале. Или, если вы откроете свой любимый текстовый редактор (скажем, TextEdit, поскольку он поставляется с OS X) и выполните File-> Открыть, а затем нажмите Command + Shift + . и щелкните по имени вашей учетной записи (домашняя папка), вы увидим их тоже. Если вы их не видите, вы можете создать их в своем любимом текстовом редакторе.
Теперь, добавление переменных окружения относительно просто и замечательно похоже на окна концептуально. В вашем .profile просто добавьте, по одному в строке, имя переменной и ее значение следующим образом:
Если вы изменяете переменную «PATH», обязательно включите системный PATH по умолчанию, который уже был установлен для вас:
Теперь вот странная часть: вы можете либо открыть новое окно терминала, чтобы новые переменные вступили в силу, либо вам нужно будет набрать .profile или .bash_profile чтобы перезагрузить файл и применить его к текущей среде терминала.
Вы можете проверить, что ваши изменения вступили в силу, используя команду «set» в вашем терминале. Просто введите set (или set | more если вы предпочитаете разбитый на страницы список) и убедитесь, что вы добавили файл.
Что касается добавления переменных среды в приложения с графическим интерфейсом, это обычно не требуется, и я хотел бы услышать больше о том, что вы конкретно пытаетесь сделать, чтобы лучше дать вам ответ на этот вопрос.
Ответ 3
Здесь немного больше информации о переменной PATH в Lion OS 10.7.x:
Если вам нужно установить PATH глобально, PATH будет создан системой в следующем порядке:
- Разбор содержимого файла /private/etc/paths , один путь в строке
- Разбор содержимого папки /private/etc/paths.d . Каждый файл в этой папке может содержать несколько путей, по одному пути в каждой строке. Порядок загрузки определяется сначала именем файла, а затем порядком строк в файле.
- A setenv PATH в /private/etc/launchd.conf , который добавит этот путь к пути, уже построенному в # 1 и # 2 (вы не должны использовать $PATH для ссылки на переменную PATH, которая была построена до сих пор). Но установка PATH здесь совершенно не нужна, учитывая две другие опции, хотя это место, где для всех пользователей могут быть установлены другие глобальные переменные среды.
Эти пути и переменные наследуются всеми пользователями и приложениями, поэтому они действительно глобальны — выходят из системы и не будут reset эти пути — они созданы для системы и создаются до того, как любой пользователь будет указан возможность входа в систему, поэтому для внесения изменений в них требуется перезапуск системы для вступления в силу.
BTW, чистая установка OS 10.7.x Lion не имеет environment.plist , который я могу найти, поэтому он может работать, но также может быть устаревшим.
Ответ 4
он печатает текущее значение пути
/.bash_profile и напишем
здесь вы добавляете старый путь, поэтому сохраняет старый путь и добавляет новый путь к нему
это выполнит его и добавит путь
затем снова проверьте с помощью
Ответ 5
К сожалению, ни один из этих ответов не решил конкретную проблему, которую я имел.
Здесь простое решение без необходимости возиться с bash . В моем случае он работал gradle (для Android Studio ).
Btw, Эти шаги относятся к OSX (Mountain Lion 10.8.5)
Выполните следующую команду:
sudo nano /etc/paths (или sudo vim /etc/paths для vim)
Откройте новое окно терминала и введите:
Вы должны увидеть новый путь, добавленный в конец PATH
Я получил эти данные из этого сообщения:
Я надеюсь, что это может помочь кому-то еще
Ответ 6
Упрощенное объяснение
Этот пост/вопрос старый, поэтому я отвечу на упрощенную версию для пользователей OS X Lion. По умолчанию OSX Lion не имеет ни одного из следующих файлов:
В лучшем случае, если вы сделали что-либо в терминале, вы можете увидеть
Что это значит
Вы должны создать файл, чтобы установить свои команды по умолчанию bash (обычно в
/.bashrc). Для этого используйте любой редактор, хотя это проще сделать в терминале:
- % > emacs.profile
- [from w/in emacs type:] source
/.bashrc
В следующий раз, когда вы выйдете и перезагрузите терминал, он должен загрузить все ваши настройки bash. Для хорошей оценки обычно полезно отделить свои команды от полезных имен файлов. Например, из
/.bashrc вы должны иметь source
/.bash_aliases и поместить все свои команды псевдонимов в
Ответ 7
Что сработало для меня, так это создать .launchd.conf с необходимыми переменными:
Этот файл читается startd при входе в систему. Вы можете добавить переменную «на лету» к запущенному запуску с помощью:
Фактически, .launchd.cond просто содержит команды launchctl.
Переменные, установленные таким образом, как представляется, присутствуют в графических приложениях правильно.
Если вы пытаетесь установить переменные LANG или LC_ таким образом, и вы используете iTerm2, убедитесь, что вы отключили параметр «Установить языковые переменные автоматически» на вкладке «Терминал» профиля, который вы с помощью. Это, кажется, переопределяет переменные среды запуска, и в моем случае была установлена неисправная проблема LC_CTYPE, вызывающая проблемы на удаленных серверах (которые получили переданную переменную).
(Тем не менее, среда environment.plist работает на моем Льве. Вы можете использовать панель предпочтений RCenvironment, чтобы сохранить файл вместо этого вручную редактируя его или требуется Xcode. По-видимому, он работает на Lion, хотя последнее обновление относится к эпохе Snow Leopard. Делает это мой личный предпочтительный метод.)
Ответ 8
Установите переменную среды PATH в Mac OS
Откройте программу терминала (это по умолчанию используется в папке Applications/Utilites). Выполните следующую команду
Это откроет файл в текстовом редакторе по умолчанию.
Для ANDROID SDK в качестве примера:
Вам нужно добавить путь к каталогу инструментов и инструментов платформы Android SDK. В моем примере я буду использовать «/Development/android-sdk-macosx» в качестве каталога, в который установлен SDK. Добавьте следующую строку:
Сохраните файл и закройте текстовый редактор. Выполните свой .bash_profile, чтобы обновить PATH.
Теперь каждый раз, когда вы открываете программу терминалов, в которой PATH будет включать Android SDK.
Ответ 9
Добавление переменных пути к OS X Lion
Это было довольно прямолинейно и работало для меня, в терминале:
Ответ 10
Применить изменения к системе (нет необходимости перезагружать компьютер):
(Также работаем с macOS Sierra 10.12.1)
Ответ 11
У меня возникла проблема с Eclipse (начата как GUI, а не с script) на Maverics, что он не принял пользовательский PATH. Я пробовал все упомянутые выше методы безрезультатно. Наконец, я нашел простейший рабочий ответ, основанный на подсказках here:
Перейдите в папку /Applications/eclipse/Eclipse.app/Contents
Измените файл Info.plist текстовым редактором (или XCode), добавьте словарь LSEnvironment для переменной окружения с полным путем. Обратите внимание, что он включает также /usr/bin и т.д.:
Обновить параметры для приложения с помощью
Ответ 12
Позвольте мне проиллюстрировать вас из моего личного примера в очень излишней форме.
- Сначала после установки JDK убедитесь, что он установлен.
Иногда macOS или Linux автоматически устанавливают переменную окружения для вас, в отличие от Windows. Но это не всегда так. Так что давай проверим это. Строка сразу после echo $ JAVA_HOME будет пустой, если переменная окружения не установлена. Он должен быть пустым в вашем случае.
Теперь нам нужно проверить, есть ли у нас файл bash_profile. Вы видели, что в моем случае у нас уже есть bash_profile. Если нет, мы должны создать файл bash_profile.
Создайте файл bash_profile.
Проверьте еще раз, чтобы убедиться, что файл bash_profile находится там.
Теперь давайте откроем файл bash_profile. macOS открывает его, используя программу TextEdit по умолчанию.
Это файл, в котором хранятся переменные среды. Если вы открыли новый файл bash_profile, он должен быть пустым. В моем случае он уже был настроен для языка программирования Python и распространения Anaconda. Теперь мне нужно добавить переменную окружения для Java, которая просто добавляет первую строку. ВЫ ДОЛЖНЫ НАПРАВИТЬ ВЕРБАТИМ. ТОЛЬКО первая строка. Сохраните и закройте TextEdit. Затем закройте терминал.
Откройте терминал снова. Давайте проверим, установлена ли переменная окружения.
Ответ 13
Я взял идиотский маршрут. Добавлено их до конца /etc/profile
создана папка /etc/environment создайте в нем файл «oracle» или «whatever» и добавьте материал, который мне нужно установить глобально.
Ответ 14
Более подробная информация, которая может быть полезной для кого-то:
Из-за моих собственных исследований я теперь знаю, как установить переменные среды в 7 из 8 разных способов. Я пытался получить envar через приложение, которое я разрабатываю под Xcode. Я установил envars «tracer», используя эти разные методы, чтобы сказать, какие из них попадают в сферу моего приложения. Из нижеследующего вы можете видеть, что редактирование «схемы» в Xcode для добавления аргументов работает, как и «putenv». Что не установлено в этой области:
/.MACOS/environment.plist, специфичный для приложения plist,.profile и добавление фазы сборки для запуска пользовательского script (я нашел другой способ в Xcode [по крайней мере] установить, но забыл, что я назвал трассировщиком, и не могу найти его сейчас, может быть, это на другой машине. )
. с другой стороны, если я заеду в Терминал и скажу «set», кажется, что единственное, что он получает, это тот, что из .profile(я бы подумал, что он заберет environment.plist, и Я уверен, что как только я увижу второй трейсер-энвар в Терминале, так что с того времени что-то сменилось. Длинный день. )
Ответ 15
Теперь откроется текстовый редактор:
Шаг 2: имя переменной должно быть прописным. в этом примере переменная NODE_ENV
Шаг 3: export NODE_ENV=development
Сохраните его и закройте.
Перезагрузите вашу систему.
Чтобы проверить переменную env: откройте терминал и наберите
Источник