Apakah /etc/paths
dibaca oleh setiap shell yang saya jalankan di OS X? Misalnya, jika saya menggunakan zsh, apakah ini akan diuraikan /etc/path
untuk diisi $PATH
?
Apa sebenarnya urutan yang diikuti OS X untuk diisi $PATH
? Apakah itu melakukannya secara berbeda dari Unix lainnya?
/etc/path
:). Ini bukan standar * nix sehingga file tersebut mungkin dipanggil dari salah satu yang standar. Cobagrep path /etc/bash.bashrc /etc/profile /etc/zsh/*
yang seharusnya mengembalikan garis yang memanggil/etc/path
.Jawaban:
Para OSX devs telah menerapkan cara mereka sendiri mengatur $ PATH yang berbeda dari semua Unix lainnya sejauh yang saya tahu. Mereka menggunakan program yang disebut
path_helper
yang akan membaca/etc/paths
dan file-file dalam/etc/path.d
dan memodifikasi default pengguna$PATH
sesuai.Menurut ini ,
$PATH
hanya mengatur cara ini untuk shell login. Ini mungkin mengapa iTerminal memulai shell login secara default (Saya selalu bertanya-tanya mengapa mereka memilih itu).Menurut sumber yang sama,
path_helper
dijalankan dari/etc/profile
dan/etc/csh.login
mana yang akan mempengaruhibash
shell logincsh
shell loginzsh
shell login (harus dibaca/etc/profile
)/etc/profile
adalah shell yang paling masuk.sumber