Посмотреть переменные окружения mac os

Обновлено: 04.07.2024

Как правильно изменить переменные среды, такие как PATH в OS X?

Я немного посмотрел в Google и нашел три разных файла для редактирования:

У меня даже нет некоторых из этих файлов, и я уверен, что . Tcshrc не так, так как OS X теперь использует bash. Где эти переменные, особенно PATH, определены?

Я бегу OS X v10.5 (Леопард).

Бруно на верном пути. Я провел обширные исследования, и если вы хотите установить переменные, которые доступны во всех приложениях с графическим интерфейсом, ваш единственный вариант - /etc/launchd.conf .

Откройте терминал Подсказка

Введите Sudo vi /etc/launchd.conf (примечание: этот файл может еще не существовать)

Поместите в файл следующее содержимое

Сохраните изменения в vi и перезагрузите Mac. Или используйте команду grep / xargs , которая показана в комментарии к коду выше.

Докажите, что ваши переменные работают, открыв окно терминала и напечатав export , и вы должны увидеть новые переменные. Они также будут доступны в IntelliJ IDEA и ​​других приложениях с графическим интерфейсом, которые вы запускаете через Spotlight.

Как настроить среду для новых процессов, запускаемых Spotlight (без перезагрузки)

Вы можете установить среду, используемую launchd (и, как следствие, все, что запускается из Spotlight) с помощью launchctl setenv . Например, чтобы установить путь:

Или, если вы хотите настроить свой путь в .bashrc или подобном, то отразите его в launchd:

Нет необходимости перезагружаться хотя вам нужно будет перезапустить приложение, если вы хотите, чтобы оно приняло измененную среду.

Это включает в себя любые оболочки, уже запущенные в Terminal.app, хотя, если вы там, вы можете настроить среду более напрямую, например, с export PATH=/opt/local/bin:/opt/local/sbin:$PATH для bash или zsh.

Как сохранить изменения после перезагрузки

Чтобы сохранить изменения после перезагрузки вы можете установить переменные окружения из /etc/launchd.conf , например так:

launchd.conf выполняется автоматически при перезагрузке.

Если вы хотите, чтобы эти изменения вступили в силу сейчас, вы должны использовать эту команду для повторной обработки launchctl.conf (спасибо @mklement за подсказку!)

Вы можете узнать больше о launchctl и как он загружает launchd.conf с помощью команды man launchctl .

До и включая OS X v10.7 (Lion) вы можно установить их в:

Для PATH в Терминале вы должны быть в состоянии установить .bash_profile или .profile (хотя, вероятно, вам придется его создать)

Решение как для командной строки, так и для приложений с графическим интерфейсом из одного источника (работает с Yosemite & El Capitan)

Предположим, у вас есть определения переменных среды в вашем

/.bash_profile , как в следующем фрагменте:

Нам нужен Launch Agent , который будет запускаться при каждом входе в систему и в любое время по требованию, который будет загружать эти переменные в пользовательский сеанс. Нам также понадобится сценарий Shell для анализа этих определений и построения необходимых команд, которые будут выполняться агентом.

Создайте файл с суффиксом plist (например, с именем osx-env-sync.plist ) в каталоге

/Library/LaunchAgents/ со следующим содержимым:

параметр -l является здесь критическим; это необходимо для выполнения сценария оболочки с помощью оболочки входа в систему , чтобы

/.bash_profile был получен в первую очередь перед выполнением этого сценария.

Теперь скрипт Shell. Создайте его по адресу

/.osx-env-sync.sh со следующим содержимым:

Убедитесь, что скрипт Shell является исполняемым:

Теперь загрузите агент запуска для текущего сеанса:

(Пере) Запустите приложение с графическим интерфейсом и убедитесь, что оно может читать переменные среды.

Настройка постоянна. Он выживет, перезапустится и войдет.

После первоначальной настройки (которую вы только что сделали), если вы хотите снова отразить какие-либо изменения в вашем

/.bash_profile во всей вашей среде, повторный запуск команды launchctl load . не будет выполнять то, что вы хотите; вместо этого вы получите предупреждение, подобное следующему:

<$HOME>/Library/LaunchAgents/osx-env-sync.plist: Operation already in progress

Чтобы перезагрузить переменные окружения, не проходя процесс выхода из системы/входа, сделайте следующее:

Наконец, убедитесь, что вы перезапускаете уже работающие приложения (включая Terminal.app), чтобы они знали об изменениях.

Я также поместил здесь код и пояснения в проект GitHub: osx-env-sync .

Я надеюсь, что это будет окончательное решение, по крайней мере, для последних версий OS X (Yosemite & El Capitan).

Файл может не существовать (если нет, вы можете просто создать его).

2. введите это и сохраните файл:

Существуют две проблемы, которые необходимо решить при работе с переменными среды в OS X. Первая - при вызове программ из Spotlight (значок увеличительного стекла в правой части меню/строки состояния Mac), а вторая - при вызове программ из Dock. , Вызов программ из приложения/утилиты терминала тривиален, поскольку он считывает среду из стандартных расположений оболочки (

При вызове программ из Dock используйте

/.MacOSX/environment.plist , где элемент <dict> содержит последовательность элементов <key>KEY</key><string>theValue</string> .

При вызове программ из Spotlight убедитесь, что launchd настроен со всеми необходимыми настройками ключ/значение.

Чтобы решить обе проблемы одновременно, я использую элемент входа (установленный с помощью инструмента "Системные настройки") в моей учетной записи пользователя. Элемент входа в систему - это bash-скрипт, который вызывает функцию Emacs LISP, хотя, конечно, можно использовать их любимый инструмент для написания сценариев, чтобы выполнить то же самое. Этот подход имеет дополнительное преимущество, заключающееся в том, что он работает в любое время и не требует перезагрузки, то есть можно редактировать

/.profile , запускать элемент входа в систему в некоторой оболочке и видеть изменения для вновь запускаемых программ из Dock или Spotlight.

Функция Emacs LISP:

ПРИМЕЧАНИЕ. Это решение представляет собой объединение тех решений, которые пришли до того, как я добавил свое, в частности, предложенное Мэттом Кертисом, но я намеренно пытался сохранить независимость моей платформы содержимого

/.bash_profile и перенести настройку среды launchd (средство только для Mac) в отдельный скрипт.

Другое бесплатное программное обеспечение с открытым исходным кодом - Mac OSX Mountain Lion (10.8) - панель настроек/environment.plist EnvPane .

EnvPane исходный код доступен на Github . Похоже, что EnvPane обладает возможностями, сопоставимыми с RCEnvironment , однако, похоже, он может мгновенно обновлять свои сохраненные переменные, т. Е. без нужен перезапуск или логин, что приветствуется.

Как заявлено разработчиком:

EnvPane - это панель настроек для Mac OS X 10.8 (Mountain Lion), которая позволяет вам устанавливать переменные среды для всех программ как в графическом, так и в терминальном сеансах. Он не только восстанавливает поддержку

/.MacOSX/environment.plist в Mountain Lion, но и немедленно публикует ваши изменения в среде без необходимости выхода и повторного входа.
<Вырезано>
EnvPane включает (и автоматически устанавливает) запускаемый агент, который запускается 1) рано после входа в систему и 2) каждый раз, когда изменяется

/.MacOSX/environment.plist. Агент читает

/.MacOSX/environment.plist и экспортирует переменные среды из этого файла в экземпляр launchd текущего пользователя через тот же API, который используется launchctl setenv и launchctl unsetenv.

Отказ от ответственности: я никоим образом не связан с разработчиком или его/ее проектом.

Постскриптум Мне нравится название (звучит как "Ends Pain").

На Mountain Lion все редактирование /etc/paths и /etc/launchd.conf не имеет никакого эффекта!

Форумы разработчиков Apple говорят:

Msgstr "Измените Info.plist самого .app, чтобы он содержал словарь" LSEnvironment "с необходимыми переменными среды.

/.MacOSX/environment.plist больше не поддерживается. "

Поэтому я непосредственно отредактировал Info.plist приложения (щелкните правой кнопкой мыши "AppName.app" (в данном случае SourceTree), а затем " Show package contents ")

Show Package Contents

и добавил новую пару ключ/dict под названием:

enter image description here

теперь приложение (в моем случае SourceTree) использует указанный путь и работает с git 1.9.3 :-)

PS: Конечно, вы должны настроить запись пути в соответствии с вашими потребностями.

Хотя ответы здесь не являются "неправильными", я добавлю еще один: никогда не вносите изменения переменных среды в OS X, которые влияют на "все процессы" или даже вне оболочки, для всех процессов, выполняемых в интерактивном режиме данным пользователем.

По моему опыту, глобальные изменения переменных среды, таких как PATH для всех процессов, с большей вероятностью могут сломать вещи в OS X, чем в Windows. Причиной этого является то, что многие приложения OS X и другое программное обеспечение (включая, возможно, особенно компоненты самой ОС) полагаются на инструменты командной строки UNIX изнутри и принимают поведение версий этих инструментов, поставляемых с системой, и при этом не обязательно использовать абсолютные пути (аналогичные комментарии применяются к динамически загружаемым библиотекам и переменным окружения DYLD_ *). Предположим, например, что ответы с самыми высокими оценками на различные вопросы переполнения стека о замене предоставленных OS X версий интерпретаторов, таких как Python и ​​Ruby, обычно говорят "не делайте этого". "

В этом отношении OS X практически не отличается от других UNIX-подобных операционных систем (например, Linux, FreeBSD и Solaris); наиболее вероятная причина, по которой Apple не предоставляет простой способ сделать это, заключается в том, что это ломает вещи. В той степени, в которой Windows не так подвержена этим проблемам, это связано с двумя причинами: (1) программное обеспечение Windows не склонно полагаться на инструменты командной строки, как это делает программное обеспечение UNIX, и (2) Microsoft имела такая обширная история как "ада DLL", так и проблем безопасности, вызванных изменениями, которые влияют на все процессы, что они изменили поведение динамической загрузки в более новых версиях Windows, чтобы ограничить влияние "глобальных" параметров конфигурации, таких как PATH.

"Хромо" или нет, у вас будет гораздо более стабильная система, если вы ограничите такие изменения меньшими областями.

Оригинальный ответ

Это касается OS X 10.10+ (10.11+, в частности, из-за режима без прав доступа, где /usr/bin больше не доступен для записи).

Я читал в нескольких местах, что использование launchctl setenv PATH <new path> для установки переменной PATH не работает из-за ошибки в OS X (которая кажется верной из личного опыта). Я обнаружил, что есть другой способ, которым PATH может быть установлено для приложения не запускаются из командной консоли:

Эта опция задокументирована на странице руководства launchctl:

система конфигурации | значение параметра пользователя

Устанавливает постоянную информацию о конфигурации для доменов launchd (8). Только системный домен и пользовательские домены могут быть настроены. Расположение постоянного хранилища является деталью реализации, и изменения в этом хранилище следует вносить только с помощью этой подкоманды. Чтобы изменения вступили в силу с помощью этой подкоманды, требуется перезагрузка.

[. ]

дорожка

Устанавливает переменную среды PATH для всех служб в целевом домене в строковое значение. Строковое значение должно соответствовать формату, указанному для переменной среды PATH в Environment (7). Обратите внимание, что если служба указывает свой собственный PATH, переменная среды для службы будет иметь приоритет.

ПРИМЕЧАНИЕ. Это средство нельзя использовать для установки общих переменных среды для всех служб в домене. Он намеренно ограничен переменной среды PATH и ничем иным из соображений безопасности.

Я подтвердил это для работы с приложением с графическим интерфейсом, запущенным из Finder (который использует getenv для получения PATH). Обратите внимание, что вы должны сделать это только один раз, и изменения будут сохраняться после перезагрузки.

Иногда все предыдущие ответы просто не работают. Если вы хотите иметь доступ к системной переменной (например, M2_HOME ) в Eclipse или в IntelliJ IDEA, единственное, что работает для меня в этом случае:

Сначала (шаг 1) отредактируйте /etc/launchd.conf так, чтобы он содержал такую ​​строку: "значение VAR setenv", а затем (шаг 2) перезагрузите компьютер.

Простое изменение .bash_profile не будет работать, потому что в OS X приложения не запускаются, как в других Unix'ах; они не наследуют переменные родительской оболочки. Все остальные модификации не будут работать по неизвестной мне причине. Может быть, кто-то еще может прояснить это.

После погони за панель настроек Переменные среды и обнаружение, что ссылка не работает, и поиск на сайте Apple, кажется, показывает, что они забыли об этом . Я вернулся на путь неуловимого запуска процесса ,.

В моей системе (Mac OS X 10.6.8) кажется, что переменные, определенные в environment.plist , надежно экспортируются в приложения, запущенные из Spotlight (через launchd). Моя проблема в том, что эти переменные не экспортируются в новые сессии bash в Терминале. То есть У меня есть противоположная проблема, как изображено здесь.

ПРИМЕЧАНИЕ: environment.plist выглядит как JSON, а не XML, как описано ранее

Мне удалось заставить приложения Spotlight видеть переменные путем редактирования

В командной строке переменные среды определяются для текущей оболочки и наследуются любой запущенной командой или процессом. Они могут определять что угодно, от оболочки по умолчанию, PATH, домашнего каталога пользователей, до типа эмуляции терминала, текущего рабочего каталога, где находится файл истории, настроек языка и локализации, а также далее включать переменные оболочки, которые включают все от настроек до приглашения bash, раскрашенного вывода ls и изменений внешнего вида терминала, псевдонимов и многого другого.

Давайте рассмотрим, как составить список переменных среды и оболочки, а затем как установить и добавить новые переменные среды в командной строке Mac OS X.

Отображение текущей среды и переменных оболочки в Mac OS X

Чтобы быстро получить список переменных окружения, вы можете использовать следующую команду:

Если вы хотите увидеть полный список переменных оболочки, можно также выполнить команду set:

Вывод этих команд может быть длинным, поэтому вы можете передать вывод через меньшее или большее количество команд.

Установка переменных среды в командной строке Mac OS X

Поскольку Mac по умолчанию использует оболочку bash, вы можете установить переменные среды в пользовательских каталогах .bash_profile, для активной учетной записи пользователя путь к этому файлу находится по адресу:

Начните с открытия .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, как в otter), затем выйдите из nano, нажав Control + X

Изменения и дополнения, внесенные в переменные среды, потребуют перезапуска оболочки или создания новой оболочки.

Установка временных переменных среды в OS X

/ bin /, вы можете использовать следующую команду:

Если вы действительно хотите добавить новый PATH для использования, вам почти наверняка следует добавить его в .bash_profile, поместив в файл соответствующую команду экспорта.

Выходя за рамки оболочки bash, если вы изменили стандартную оболочку приложения Терминал с bash на tcsh, zsh, sh, ksh, fish или любую другую альтернативную оболочку, вам просто нужно будет изменить соответствующий профиль или файл rc для этой конкретной оболочки (.tschrc, .cshrc, .profile и т. д.).

В командной строке переменные среды определены для текущей оболочки и становятся унаследованными любой выполняемой командой или процессом. Они могут определять что-либо из оболочки по умолчанию, PATH, домашней директории пользователей, типу эмуляции терминала, текущему рабочему каталогу, где находится файл истории, языку и настройкам локализации, и далее включать в себя переменные оболочки, которые включают все от настроек до подсказки bash, раскрашенного вывода ls и изменения внешнего вида терминала, псевдонимов и многое другое.

Давайте рассмотрим, как перечислять переменные среды и оболочки, а затем как устанавливать и добавлять новые переменные среды в командной строке Mac OS X.

Отображение текущей среды и переменных оболочки в Mac OS X

Чтобы быстро получить список переменных окружения, вы можете использовать следующую команду:

Если вы хотите увидеть полный список переменных оболочки, можно также выдать команду «set»:

Выход этих команд может быть длинным, поэтому вы можете запрограммировать вывод через меньшее количество команд.

Настройка переменных окружения в командной строке Mac OS X

Поскольку Mac по умолчанию использует оболочку bash, вы можете установить переменные окружения в пользовательских каталогах .bash_profile, для активной учетной записи пользователя путь к этому файлу находится по адресу:

Начните с открытия .bash_profile в текстовом редакторе nano:

Вы можете добавить переменные окружения и переменные оболочки в новые строки, если в файле .bash_profile уже есть данные, просто добавьте новые переменные в новую пустую строку, используя при необходимости клавиши со стрелками и ключ возврата.

Возьмем пример и скажем, что мы собираемся установить переменные окружения JAVA_HOME и JRE_HOME в .bash_profile, добавив следующее в новые строки файла:

экспорт JAVA_HOME = $ (/ usr / libexec / java_home)
экспорт JRE_HOME = $ (/ usr / libexec / java_home)

Предположим, что мы закончили, сохраните изменения, внесенные в .bash_profile, нажав Control + o (это o, как на выдре), затем выйдите из nano, нажав Control + X

Установите переменные окружения в Mac OS X, поместив их в bash_profile

Изменения и дополнения, внесенные в переменные среды, потребуют перезапуска оболочки или появления новой оболочки.

Установка временных переменных среды в OS X

Стоит отметить, что вы также можете установить временные переменные среды в bash, используя команду «export» самостоятельно, хотя они будут сохраняться только до тех пор, пока текущая оболочка bash останется активной. Например, если вы хотите добавить временный путь к

/ bin /, вы можете использовать следующую команду:

export PATH = $ PATH:

Опять же, команда «export» запускается сама по себе и не содержится в .bash_profile, будет только временным параметром, и переменная окружения не будет сохраняться, если вы не добавите ее в .bash_profile.

Если вы действительно хотите добавить новый PATH для использования, вы почти наверняка добавите его в .bash_profile, поместив в файл соответствующую команду экспорта.

Если вы перейдете из оболочки bash, если вы изменили оболочку по умолчанию для приложения Terminal из bash на tcsh, zsh, sh, ksh, fish или любую другую альтернативную оболочку, вам просто нужно будет изменить соответствующий профиль или файл rc для этой конкретной оболочки (.tschrc, .cshrc, .profile и т. д.).

Когда кто-то говорит "отредактируйте файл .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.

Чтобы отредактировать файл, вы можете нажать "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 будет создан системой в следующем порядке:

Эти пути и переменные наследуются всеми пользователями и приложениями, поэтому они действительно глобальны - выходят из системы и не будут 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)

nano

Откройте новое окно терминала и введите:

Вы должны увидеть новый путь, добавленный в конец PATH

Я надеюсь, что это может помочь кому-то еще

Ответ 6

Упрощенное объяснение

Этот пост/вопрос старый, поэтому я отвечу на упрощенную версию для пользователей OS X Lion. По умолчанию OSX Lion не имеет ни одного из следующих файлов:

В лучшем случае, если вы сделали что-либо в терминале, вы можете увидеть

Что это значит

Вы должны создать файл, чтобы установить свои команды по умолчанию bash (обычно в

/.bashrc). Для этого используйте любой редактор, хотя это проще сделать в терминале:

  • % > emacs.profile
  • [from w/in emacs type:] source

В следующий раз, когда вы выйдете и перезагрузите терминал, он должен загрузить все ваши настройки 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

Это было довольно прямолинейно и работало для меня, в терминале:

Ответ 10

Применить изменения к системе (нет необходимости перезагружать компьютер):

(Также работаем с macOS Sierra 10.12.1)

Ответ 11

Перейдите в папку /Applications/eclipse/Eclipse.app/Contents

Измените файл Info.plist текстовым редактором (или XCode), добавьте словарь LSEnvironment для переменной окружения с полным путем. Обратите внимание, что он включает также /usr/bin и т.д.:

Обновить параметры для приложения с помощью

Ответ 12

Позвольте мне проиллюстрировать вас из моего личного примера в очень излишней форме.

enter image description here

Иногда macOS или Linux автоматически устанавливают переменную окружения для вас, в отличие от Windows. Но это не всегда так. Так что давай проверим это. Строка сразу после echo $ JAVA_HOME будет пустой, если переменная окружения не установлена. Он должен быть пустым в вашем случае.

enter image description here

Теперь нам нужно проверить, есть ли у нас файл bash_profile. Вы видели, что в моем случае у нас уже есть bash_profile. Если нет, мы должны создать файл bash_profile.

enter image description here

Создайте файл bash_profile.

enter image description here

Проверьте еще раз, чтобы убедиться, что файл bash_profile находится там.

enter image description here

Теперь давайте откроем файл bash_profile. macOS открывает его, используя программу TextEdit по умолчанию.

enter image description here

Откройте терминал снова. Давайте проверим, установлена ли переменная окружения.

Ответ 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

Читайте также: