В 10.8 в каком файле хранятся переменные среды?

Так было с 10.6. В домашнем словаре нет .bashrcфайла, но переменная среды PATHдействительно существует, как показывает результат этой команды:

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

Кто-нибудь знает, как/где OS X хранит переменные среды?

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

Ответы (3)

Общесистемный путь по умолчанию находится в /etc/paths. По умолчанию в системе 10.8 содержится следующее:

/USR/бен

/бин

/usr/sbin

/сбин

/USR/местные/бен

Чтобы добавить дополнительные общесистемные PATHзаписи, вы можете изменить этот файл, но лучшим вариантом будет добавить файл с дополнительными записями пути в каталог /etc/paths.d. Этот созданный пользователем файл будет защищен во время любых обновлений/исправлений, которые могут заменить настроенную /etc/pathsверсию версией, распространяемой Apple.

В качестве альтернативы вы можете поместить соответствующие PATHоператоры модификации в /etc/profileили /etc/bashrc(в случае bash он будет использовать последний только в том случае, если первый не существует). Любые другие общесистемные изменения среды также могут быть выполнены с использованием этих файлов.

Конфигурацию пользователя можно ввести в $HOME/.bashrcили $HOME/.bash_profile.

Примечание. В приведенном выше примере я предположил, что вы используете bash. Если вы используете csh или zsh, вам необходимо настроить их файлы конфигурации (однако информация о /etc/pathsи /etc/paths.dостается действительной).

В OS X .bash_profileэто действительно правильное имя для файла конфигурации.
.bashrcпо-прежнему используется для интерактивных оболочек без входа в систему (дополнительную информацию см. на странице руководства).

Вы можете создать свой собственный .profileили .bashrcфайл, чтобы установить переменные среды для вашего пользователя.

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

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

echo $SHELL

Как только вы это сделаете, вы можете прочитать страницу руководства для вашей оболочки, которая, вероятно, будет bash.

man bash

Если вы работаете с bash, вам будет полезен этот раздел руководства по bash .

Когда bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с параметром --login, она сначала считывает и выполняет команды из файла /etc/profile , если этот файл существует. После чтения этого файла он ищет ~/.bash_profile , ~/.bash_login и ~/.profile в указанном порядке, а также читает и выполняет команды из первого существующего и доступного для чтения файла. Опция --noprofile может использоваться при запуске оболочки, чтобы запретить такое поведение.