bashrc vs bash_profile

On the subject of bashrc

I’ve always been confounded by the presence of both .bashrc and .bash_profile and how they related.

It turns out to be simple, but 0% intuitive:

  • .bashrc is invoked for non-login, interactive shells
  • .bash_profile is invoked for login shells

The difference is powerful, surely, but also annoying. Most of the time, you just want something to always run in bash, and you don’t care about login vs. non-login.

Which is why it’s recommended to have .bash_profile merely source .bashrc.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see