The difference between .bash_profile and .bashrc?
It’s always slightly confusing to remember how these work on Linux, Unix and Mac OS X. According to the bash man page, .bash_profile gets run for every login shell (i.e. when you login) – put lengthy, one-off stuff there like the daily news
.bashrc gets run for every non-login shell (e.g. when you open up another terminal in your window system)
Unfortunately Mac OS X does things slightly differently – .bash_profile gets called for each new instance of a Terminal!
More:
http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html