.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.


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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.