Шляхи в /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? Я не маю досвіду з іншими снарядами, але я припускаю, що вони відповідають іншій структурі?