.bashrc or .bash_profile

I can’t ever keep .bashrc and .bash_profile straight. And I swear that they get implemented backwards in certain environments/ operating systems. What goes in .bashrc that doesn’t go in .bash_profile, and vice-versa? Anybody know?

This problem has popped up because I’ve been configuring a new Cygwin install the last couple of days and I’m trying to find the most appropriate place to set my $CVSROOT and $CVS_RSH vars.

The way I understand it, as long as the first thing I do in my .bash_profile is “source $HOME/.bashrc” I should be ok. That is, no matter if I want a login, interactive, non-interactive, or non-login shell I should be fine. I think the key to my confusion is the dang terms: login, non-login, interactive, and non-interactive, pertaining to shells.

Maybe one of my buddies from uptime (now GeekTimeLinux)will chime in and set me straight.


Leave a Reply