GNU/Linux >> Belajar Linux >  >> Linux

.bashrc vs .bash_profile

Jika Anda menghabiskan banyak waktu di baris perintah, kemungkinan besar Anda ingin menyesuaikan lingkungan shell Anda. Ini bisa berarti membuat alias, menambahkan direktori baru ke $PATH , atau mengubah tampilan prompt shell.

Anda mungkin telah menemukan beberapa tutorial di mana mereka mengatakan untuk meletakkan konfigurasi Anda di .bashrc , .bash_profile atau file konfigurasi lain yang dibaca dan dieksekusi oleh bash shell.

Pada artikel ini, kita akan berbicara tentang file startup Bash dan perbedaan antara .bashrc dan .bash_profile file.

Login Interaktif dan Shell Non-Login #

Saat dipanggil, Bash membaca dan menjalankan perintah dari sekumpulan file startup. File apa yang dibaca tergantung pada apakah shell dipanggil sebagai login interaktif atau shell non-login.

Shell dapat bersifat interaktif atau non-interaktif.

Secara sederhana, shell interaktif adalah shell yang membaca dan menulis ke terminal pengguna, sedangkan shell non-interaktif adalah shell yang tidak terkait dengan terminal, seperti saat menjalankan skrip.

Shell interaktif dapat berupa shell login atau non-login.

Shell login dipanggil saat pengguna login ke terminal baik dari jarak jauh melalui ssh atau secara lokal, atau saat Bash diluncurkan dengan --login pilihan. Shell non-login interaktif dipanggil dari shell login, seperti saat mengetik bash di prompt shell atau saat membuka tab terminal Gnome baru.

File Startup Bash #

Saat dipanggil sebagai shell login interaktif, Bash mencari /etc/profile file, dan jika file tersebut ada, menjalankan perintah yang tercantum dalam file. Kemudian Bash mencari ~/.bash_profile , ~/.bash_login , dan ~/.profile file, dalam urutan yang terdaftar, dan menjalankan perintah dari file pertama yang dapat dibaca yang ditemukan.

Ketika Bash dipanggil sebagai shell non-login interaktif, Bash membaca dan mengeksekusi perintah dari ~/.bashrc , jika file itu ada, dan dapat dibaca.

Perbedaan Antara .bashrc dan .bash_profile #

.bash_profile dibaca dan dieksekusi ketika Bash dipanggil sebagai shell login interaktif, sementara .bashrc dijalankan untuk shell non-login interaktif.

Gunakan .bash_profile untuk menjalankan perintah yang harus dijalankan hanya sekali, seperti menyesuaikan $PATH variabel lingkungan.

Letakkan perintah yang harus dijalankan setiap kali Anda meluncurkan shell baru di .bashrc mengajukan. Ini termasuk alias dan fungsi Anda, permintaan khusus, penyesuaian riwayat, dan sebagainya.

Biasanya, ~/.bash_profile berisi baris seperti di bawah ini sumber .bashrc mengajukan. Ini berarti setiap kali Anda masuk ke terminal, kedua file dibaca dan dieksekusi.

if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

Sebagian besar distribusi Linux menggunakan ~/.profile bukannya ~/.bash_profile . ~/.profile file dibaca oleh semua shell, sementara ~/.bash_profile hanya dengan Bash.

Jika file startup tidak ada di sistem Anda, Anda dapat membuatnya.

Kesimpulan #

.bash_profile dan .bashrc adalah file yang berisi perintah shell yang dijalankan saat Bash dipanggil. .bash_profile dibaca dan dieksekusi pada shell login interaktif, sementara .bashrc pada shell non-login.

Periksa manual Bash untuk informasi lebih lanjut tentang file startup Bash.

Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.


Linux
  1. Memahami Arti `$_`?

  2. Jalankan semua skrip shell di folder

  3. Menyinkronkan profil bash antar komputer

  1. Shell Mana yang Harus Saya Gunakan – Tcsh Vs Bash??

  2. [ :Operator tak terduga dalam pemrograman shell

  3. Bagaimana caranya:Riwayat Bash/Shell yang tidak terbatas?

  1. Cara grep bagian file di bash shell

  2. SSH tanpa sumber .bashrc

  3. Bash tidak membaca .bashrc kecuali dimulai secara manual