Path di /etc/paths
dan /etc/paths.d/*
biasanya ditambahkan PATH
oleh path_helper . path_helper
dijalankan 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/paths
berisi /usr/local/bin
di 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 PATH
dari proses root launchd. Nilai ini diwarisi oleh semua proses lainnya, termasuk proses peluncuran per pengguna. Anda dapat menerapkan perubahan /etc/launchd.conf
dengan memulai ulang, atau dengan menjalankan launchctl < /etc/launchd.conf; sudo launchctl < /etc/launchd.conf
dan meluncurkan kembali proses.
Pada OS X, ~/.profile
tidak dibaca ketika Anda masuk secara grafis. Jika keduanya ~/.bash_profile
dan ~/.profile
ada, bash tidak membaca ~/.profile
.
~/.MacOSX/environment.plist
berhenti bekerja di 10.8.
/etc/profile
skrip ini terutama digunakan oleh bash? Saya tidak memiliki pengalaman dengan cangkang lain, tetapi saya berasumsi mereka mengikuti struktur yang berbeda?