Sejauh yang saya tahu, shell interaktif mungkin masuk atau tidak masuk, dan file start up untuk mereka berbeda.
- Jika + interaktif shell login →
/etc/profile
maka dibaca pertama~/.bash_profile
,~/.bash_login
dan~/.profile
- Jika shell interaktif + non-login →
/etc/bash.bashrc
kemudian~/.bashrc
Saya ingin mengatur beberapa variabel setiap kali saya menggunakan shell interaktif terlepas dari apakah itu shell login atau tidak.
Jawaban:
Tidak, tidak ada. Ya, ini adalah cacat desain.
Gunakan konten berikut di
~/.bash_profile
:Waspadalah bahwa bash memiliki quirk yang lebih aneh: ketika itu adalah shell login non-interaktif dan proses induknya adalah
rshd
atausshd
, sumber bash~/.bashrc
(tetapi tidak~/.bash_profile
atau~/.profile
). Jadi, Anda mungkin ingin meletakkan ini di atas.bashrc
:Lihat juga Perbedaan antara .bashrc dan .bash_profile dan Perbedaan antara Login Shell dan Non-Login Shell?
sumber
.bashrc
dalam pengaturan non-interaktif sebenarnya dapat dianggap sebagai tidak terduga), atau pemeriksaan apa pun dari konteks sensitif-keamanan.