Шляхи в /etc/pathsі /etc/paths.d/*, як правило, додаються PATHшляхом path_helper . path_helperзапускається з /etc/profile, тому він запускається, коли bash викликається як інтерактивна оболонка входу, але не тоді, коли bash викликається як оболонка без входу або неінтерактивна оболонка.
/etc/pathsмістить /usr/local/binв кінці за замовчуванням і /etc/paths.d/порожній за замовчуванням.
Термінал та iTerm 2 відкривають нові оболонки як оболонки для входу за замовчуванням, а оболонка, що відкривається, коли ви ssh на комп’ютер - це також оболонка для входу. Багато емуляторів терміналів на інших платформах tmuxта режим оболонки в Emacs відкривають нові оболонки як оболонки без входу.
Я додав цей рядок до /etc/launchd.conf:
setenv PATH ~/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:/usr/texbin
Це змінює значення PATHпроцесу запуску кореня. Значення успадковується всіма іншими процесами, включаючи запущені процеси на кожного користувача. Ви можете застосувати зміни до /etc/launchd.confперезавантаження або запуску launchctl < /etc/launchd.conf; sudo launchctl < /etc/launchd.confта перезапуску процесів.
В ОС X ~/.profileне читається під час графічного входу. Якщо і те ~/.bash_profileі інше ~/.profileіснує, баш також не читає ~/.profile.
~/.MacOSX/environment.plist припинив роботу в 10.8.
/etc/profileце сценарій, в основному використовується bash? Я не маю досвіду з іншими снарядами, але я припускаю, що вони відповідають іншій структурі?