File .bash_profile (dan file .profile juga) dimuat untuk shell login, shell non-login menggunakan .bashrc (tanpa simbol _). Ada baris dalam file .screenrc yang memberitahu layar apa yang harus dimunculkan ketika memulai jendela layar (ketika tidak meluncurkan program tertentu sebagai aplikasi jendela). Dalam file .screenrc saya, begini (termasuk komentar juga):
# shell: Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
shell -$SHELL
Periksa file .screenrc Anda dan verifikasi bahwa garis shell memiliki tanda hubung di depannya. Dengan memiliki simbol tanda hubung dan memaksa shell login, Anda akan mendapatkan .bash_profile Anda bersumber. Variabel $ SHELL di .screenrc saya menggunakan nilai shell seperti yang disediakan oleh shell yang meluncurkan layar (umumnya bagi saya itu bash).
Jika Anda bertanya-tanya, perbedaan terbesar yang saya dapat temukan antara shell login versus non-login adalah bahwa shell non-login biasanya digunakan untuk mengeksekusi skrip.
Sumber
.bash_profile
sebenarnya adalah sesuatu yang berbeda yang dilakukan oleh aplikasi terminal Mac yang tidak dilakukan oleh sebagian besar aplikasi terminal. Layar tidak membaca~/.bashrc
, setiap kali Anda menelurkan shell baru.Jika Anda mengganti nama
~/.bash_profile
menjadi~/.bashrc
(tanpa garis bawah antara bash dan rc, seperti dalam pertanyaan Anda), maka itu akan bersumber.Namun strategi yang saya sukai adalah menempatkan semua pengaturan saya di
bashrc
, dan kemudian sumber daribash_profile
seperti ini:sumber
Anda tidak perlu mengubah file konfigurasi apa pun, jika Anda menulis semua pengaturan Anda
.bash_profile
, seperti yang biasanya Anda lakukan untuk mengatur terminal Anda, dan membuat tautan bernama.bashrc
menunjuk ke Anda.bash_profile
untuk sesi layar melalui:$ ln -s ~/.bash_profile ~/.bashrc
Setiap perubahan yang dilakukan pada salah satu file disimpan
.bash_profile
tetapi juga dapat diakses oleh.bashrc
.Satu-satunya kelemahan adalah bahwa Anda tidak dapat menambahkan pengaturan hanya ke salah satu file konfigurasi.
sumber
Linux shells shells sumber non-login dengan menambahkan baris berikut dalam kasus file pengguna:
sumber