From DSL Wiki
As with .bash_profile, .bashrc is a script which runs when Bash runs. The difference with these two scripts is that .bashrc runs every time you open a new non-login bash shell (basically every time you open aterm), and .bash_profile runs only with login shells (typically only once, when you first log in). What this means is that you may want to be careful about how much work you make .bashrc do, or you may end up waiting a while every time you open a terminal. Many people use .bashrc to set up their environment variables, which is fine, but if you don't need to export the same value for the same variable with every shell (if it's exported already) it may be better to use .bash_profile for that. The .bashrc file is generally used to set the Bash prompt, and any actions which may require an environment more specific than just "this is a shell". For example, you may need to automatically check for new mail more than just once when you log in, or you might need to run a command or two if Bash detects some other specific changes to the environment and needs to do something as a result of that change.