.bashrc tidak dieksekusi

10

Saya memiliki pengguna (non-root) yang memiliki ~/.bashrcfile dengan beberapa alias di dalamnya.

Tapi itu tidak terlihat seperti file dieksekusi pada saat masuk. Jika saya melakukannya source ~/.bashrcmaka itu melakukan apa yang seharusnya. Tapi bukankah ~/.bashrcseharusnya dieksekusi setiap kali saya masuk?

Izin diatur ke 644 (sama dengan root saya .bashrc, yang berfungsi dengan baik). File dimiliki oleh pengguna yang bersangkutan.

NullUser
sumber
Ini adalah salah satu dari beberapa gangguan yang dialami pengguna ksh saat berhadapan dengan bash. ksh sumber secara otomatis .kshrc di shell login tetapi bash tidak sumber .bashrc dalam konteks yang sama. Anda harus melakukannya secara eksplisit.
jlliagre

Jawaban:

18

~/.bashrcuntuk shell interaktif non-login . Sumber shells login ~/.bash_profile(atau ~/.bash_loginatau ~/.profile). Sumber Anda di ~/.bashrcsana akan memungkinkan Anda untuk memiliki pengaturan umum.

Pemrogram
sumber
1
Atau sumber .bash_profiledari.bashrc , yang mungkin masuk akal ketika Anda terutama menggunakan shell interaktif.
janmoesen
Saya merasa perlu melakukan hal-hal untuk shell login yang tidak dilakukan untuk non-login interaktif, tidak pernah sebaliknya.
Pemrogram
Oleh karena itu " mungkin masuk akal": Saya tahu itu bisa tampil mundur. :-)
janmoesen
Apakah mungkin untuk mengkonfigurasi sistem redhat untuk mengabaikan .bashrc saat menjalankan pekerjaan non-interaktif? Saya menggunakan cluster yang tampaknya benar-benar menggunakan .bash_profile (saya kemudian memuat .bashrc). Tanpa .bash_profile, pekerjaan tidak dapat menemukan hal-hal yang saya tambahkan ke PATH di file rc
user632657