/ etc / path di OS X dan Unix lainnya

8

Apakah /etc/pathsdibaca oleh setiap shell yang saya jalankan di OS X? Misalnya, jika saya menggunakan zsh, apakah ini akan diuraikan /etc/pathuntuk diisi $PATH?

Apa sebenarnya urutan yang diikuti OS X untuk diisi $PATH? Apakah itu melakukannya secara berbeda dari Unix lainnya?

Josh
sumber
Ya, ternyata ia menggunakan beberapa file bernama /etc/path:). Ini bukan standar * nix sehingga file tersebut mungkin dipanggil dari salah satu yang standar. Coba grep path /etc/bash.bashrc /etc/profile /etc/zsh/*yang seharusnya mengembalikan garis yang memanggil /etc/path.
terdon

Jawaban:

10

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_helperyang akan membaca /etc/pathsdan file-file dalam /etc/path.ddan memodifikasi default pengguna $PATHsesuai.

Menurut ini , $PATHhanya 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_helperdijalankan dari /etc/profiledan /etc/csh.loginmana yang akan mempengaruhi

  • bash shell login
  • csh shell login
  • zshshell login (harus dibaca /etc/profile)
  • semua shell lain yang sumbernya /etc/profileadalah shell yang paling masuk.
terdon
sumber