Apa perbedaan antara bash shell 'Login' dan 'Interactive'? Saya telah mengutip Wikipedia di bawah ini, tetapi adakah yang bisa memberikan jawaban yang lebih baik?
Sunting: Ini adalah wiki komunitas jadi mungkin daripada memilih untuk menutup, Anda bisa memberikan contoh situasi yang memerlukan jenis $ SHELL
Skrip startup
Ketika Bash dimulai, ia mengeksekusi perintah dalam berbagai skrip yang berbeda.
Ketika Bash dipanggil sebagai shell login interaktif, ia pertama kali membaca dan mengeksekusi perintah dari file / etc / profile, jika file itu ada. Setelah membaca file itu, ia mencari ~ / .bash_profile, ~ / .bash_login, dan ~ / .profile, dalam urutan itu, dan membaca serta mengeksekusi perintah dari yang pertama yang ada dan dapat dibaca.
Ketika shell login keluar, Bash membaca dan mengeksekusi perintah dari file ~ / .bash_logout, jika ada.
Ketika shell interaktif yang bukan shell login dimulai, Bash membaca dan mengeksekusi perintah dari ~ / .bashrc, jika file itu ada. Ini dapat dihambat dengan menggunakan opsi --norc. Opsi file --rcfile akan memaksa Bash untuk membaca dan menjalankan perintah dari file daripada ~ / .bashrc.
Jawaban:
Dalam file profil shell login Anda, Anda dapat mengatur beberapa hal yang akan Anda gunakan selama sesi Anda, dan yang hanya perlu dilakukan sekali. Beberapa ide:
Dalam file shell non-login (
.bashrc
) Anda harus mengkonfigurasi shell Anda:.bash_profile
Biasanya, Anda akan menyertakan
.bashrc
dari.bash_profile
berikut ini. Kemudian shell login mendapatkan semua kustomisasi Anda, dan.bash_profile
file tidak harus menduplikasi hal-hal yang sudah ada.bashrc
.sumber