Difference between .bash_profile and .bashrc Files
Posted by Admin on April 16th, 2007
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
According to the bash man page, .bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.
when you login when using a console, either physically at the machine or using ssh, .bash_profile is executed.
However, if you launch a terminal within a windowing system such as GNOME,KDE, launch the Emacs *shell* mode, or execute /bin/bash from within another terminal then .bashrc is executed.
Most people edit the files so one calls the other anyway.
To do this you need to open .bash_profile and uncomment the following lines (under the comment # include .bashrc if it exists):
if [ -f ~/.bashrc ];
then
source ~/.bashrc
fi
Now when we login to our machine from a console,.bashrc will get called.


April 17th, 2007 at 5:54 pm
Is there a system wide .bashrc like file? For interactive logons /etc/profile is sourced, but for non interactive I would really like to have a system wide file for all users without having to resort to making a .bashrc file on . /etc/profile.
Thanks
April 20th, 2007 at 8:02 am
yes there is /etc/bash.bashrc (in my Edgy at least).