GNU/Linux >> Belajar Linux >  >> Linux

Tampilan Lengkap Di Mana Variabel Path Diatur Di Bash?

Saya telah membaca di beberapa tempat bahwa PATH diatur di /etc/profile atau .profile file yang ada di direktori home.

Apakah ini satu-satunya tempat di mana jalan itu diatur? Saya ingin pemahaman yang lebih baik tentangnya.

Dalam /etc/profile file, seperti yang dikatakan komentar berikut "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 disetel sama sekali. Di .profile file di direktori home ada baris ini:

PATH="$HOME/bin:$PATH"

Itu mengatur ulang PATH dari tampilannya karena ini menggabungkan $PATH yang sudah disetel string dengan $HOME/bin: Baik? Tetapi jika etc/profile dan ~/.profile adalah satu-satunya pengaturan file PATH dimana $PATH berasal dari baris kode itu jika tidak didefinisikan dalam /etc/profile ?

Ada yang berpengalaman tolong kasih penjelasan yang luas dan detail tentang PATH variabel? Terima kasih!

Jawaban yang Diterima:

Ada banyak tempat di mana PATH dapat diatur.

login program menyetelnya ke nilai default. Bagaimana nilai default ini dikonfigurasi bergantung pada sistem. Pada kebanyakan sistem Linux non-embedded, ini diambil dari /etc/login.defs , dengan nilai yang berbeda untuk root dan untuk pengguna lain. Lihat login(1) manual di sistem Anda untuk mengetahui fungsinya.

Pada sistem yang menggunakan PAM, khususnya pam_env modul, variabel lingkungan dapat diatur dalam file sistem-lebar /etc/environment dan file per pengguna ~/.pam_environment .

Kemudian sebagian besar cara untuk masuk (tetapi bukan pekerjaan cron) menjalankan shell masuk yang membaca file konfigurasi seluruh sistem dan per pengguna. File-file ini dapat mengubah nilai PATH , biasanya untuk menambahkan entri tetapi terkadang dengan cara lain. File mana yang dibaca tergantung pada shell login apa. Shell bergaya Bourne/POSIX membaca /etc/profile dan ~/.profile . Bash membaca /etc/profile , tetapi untuk file per pengguna hanya membaca file pertama yang ada di antara ~/.bash_profile , ~/.bash_login dan ~/.profile . Zsh membaca /etc/zshenv , ~/.zshenv , /etc/zprofile , ~/.zprofile , /etc/zlogin dan ~/.zlogin . Banyak sesi GUI mengatur untuk memuat /etc/profile dan ~/.profile , tetapi ini bergantung pada pengelola tampilan, pada lingkungan desktop atau skrip startup sesi lainnya, dan bagaimana setiap distribusi menyiapkannya.


Linux
  1. Di mana Default Variabel Lingkungan Istilah Ditetapkan?

  2. Di mana File Inittab berada?

  3. Bagaimana Anda menormalkan jalur file di Bash?

  1. Variabel dalam Bash Script yang mempertahankan nilainya sejak terakhir kali dijalankan

  2. Bagaimana cara mendapatkan direktori absolut dari sebuah file di bash?

  3. Di mana variabel PATH diatur di Ubuntu?

  1. Basa'?

  2. Apakah ada variabel jalur instal Qt yang dapat saya gunakan di file .pro?

  3. Linux:Tempat meletakkan file swap