Path di /etc/pathsdan /etc/paths.d/*biasanya ditambahkan PATHoleh path_helper . path_helperdijalankan dari /etc/profile, jadi dijalankan ketika bash dipanggil sebagai shell login interaktif, tetapi tidak ketika bash dipanggil sebagai shell non-login atau shell non-interaktif.
/etc/pathsberisi /usr/local/bindi akhir secara default, dan /etc/paths.d/kosong secara default.
Terminal dan iTerm 2 membuka shell baru sebagai shell login secara default, dan shell dibuka ketika Anda ssh ke komputer Anda juga merupakan shell login. Banyak emulator terminal pada platform lain tmux,, dan mode shell di Emacs membuka shell baru sebagai shell non-login.
Saya telah menambahkan baris ini ke /etc/launchd.conf:
setenv PATH ~/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:/usr/texbin
Ini mengubah nilai PATHdari proses root launchd. Nilai ini diwarisi oleh semua proses lainnya, termasuk proses peluncuran per pengguna. Anda dapat menerapkan perubahan /etc/launchd.confdengan memulai ulang, atau dengan menjalankan launchctl < /etc/launchd.conf; sudo launchctl < /etc/launchd.confdan meluncurkan kembali proses.
Pada OS X, ~/.profiletidak dibaca ketika Anda masuk secara grafis. Jika keduanya ~/.bash_profiledan ~/.profileada, bash tidak membaca ~/.profile.
~/.MacOSX/environment.plist berhenti bekerja di 10.8.
/etc/profileskrip ini terutama digunakan oleh bash? Saya tidak memiliki pengalaman dengan cangkang lain, tetapi saya berasumsi mereka mengikuti struktur yang berbeda?