Saya telah membaca di beberapa tempat yang PATH
diatur /etc/profile
atau .profile
file yang ada di direktori home.
Apakah ini satu-satunya tempat yang dilalui jalur? Saya ingin pemahaman yang lebih baik tentang itu.
Dalam /etc/profile
file tersebut, seperti komentar berikut mengatakan "system-wide .profile file for the Bourne shell"
. Apakah itu berarti bahwa file profil adalah file konfigurasi utama untuk bash?
Dalam file itu saya tidak melihat PATH
var diset sama sekali. Dalam .profile
file di direktori home ada baris ini:
PATH="$HOME/bin:$PATH"
Itu ulang PATH
oleh tampilannya karena itu menggabungkan $PATH
string yang sudah ditetapkan dengan $HOME/bin:
benar? Tetapi jika etc/profile
dan ~/.profile
apakah satu-satunya pengaturan file dari PATH
mana $PATH
asalnya dalam baris kode itu jika tidak didefinisikan di dalamnya /etc/profile
?
Bisakah seseorang yang berpengalaman tolong berikan penjelasan yang luas dan terperinci tentang PATH
variabel tersebut? Terima kasih!
sumber
/etc/bashrc
. Ini menentukan bagaimana BASH diluncurkan, yang harus mencakup semua variabel lingkungan awal. Di sistem saya,/etc/bashrc
baca dari/etc/profile.d
tetapi sepertinya Anda hanya memiliki 3 file/etc/profile.d
sehingga distro Anda mungkin melakukannya secara berbeda.Untuk menambah jawaban lain:
bash
akan ditetapkanPATH
ke nilai default hard-coded jika tidak disetel di lingkungan. Pada mesin Ubuntu Server 16.04.2, saya mendapatkan:Kita dapat memeriksa bahwa nilai ini memang hard-coded, dan tidak dibaca dari lingkungan atau beberapa file, menggunakan
strings
utilitas:Namun, saya mendapatkan hasil berbeda pada mesin Arch Linux saya:
Jadi, sepertinya default ini dipilih pada saat
bash
biner dibangun, yang tergantung pada OS / distribusi yang digunakan.sumber
Hal-hal yang tidak saya lihat:
.profile
dll disalin pada pembuatan akunAdapun Ken Thompson, Anda mungkin akan terkejut melihat: "Views on Linux" .
sumber