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
.