Является ли /etc/paths
прочитан всеми оболочками , что я бегу в OS X? Например, если я использую zsh, будет ли он анализироваться /etc/path
для заполнения $PATH
?
Какова именно последовательность, которую OS X следует заполнить $PATH
? Делает ли это иначе, чем другие Unices?
/etc/path
:). Это не стандартная вещь * nix, так что файл, вероятно, вызывается из одного из стандартных. Попробуйтеgrep path /etc/bash.bashrc /etc/profile /etc/zsh/*
это должно вернуть строку, которая вызывает/etc/path
.Ответы:
Разработчики OSX реализовали свой собственный способ настройки $ PATH, который, насколько я знаю, отличается от всех других Unices. Они используют программу под названием,
path_helper
которая будет читать/etc/paths
и файлы в/etc/path.d
и изменять соответствующим образом пользователя по умолчанию$PATH
.В соответствии с этим этот параметр
$PATH
устанавливается только для оболочек входа в систему. Возможно, именно поэтому iTerminal по умолчанию запускает оболочки входа в систему (мне всегда было интересно, почему они выбрали это).Согласно тому же источнику,
path_helper
запускается/etc/profile
и/etc/csh.login
который должен влиятьbash
логин оболочкиcsh
логин оболочкиzsh
вход в систему оболочки (следует прочитать/etc/profile
)/etc/profile
которых должно быть большинство логинов.источник