On Wed, Apr 08, 2020 at 04:46:19PM -0700, Eduardo Bustamante wrote: > On Wed, Apr 8, 2020 at 2:42 PM Martin Schulte <g...@schrader-schulte.de> > wrote: > (...) > > But, as far as I understand, a non-interactive bash doesn't read > > ~/.bashrc at all - so shouldn't we just omit them? > > There are exceptions. One of them being SSH, see: > https://git.savannah.gnu.org/cgit/bash.git/tree/shell.c?h=ea31c00845c858098d232bd014bf27b5a63a668b#n1095 > > > /* If we were run by sshd or we think we were run by rshd, execute > > ~/.bashrc if we are a top-level shell. */
Another case would be someone setting BASH_ENV to force the file to be dotted in by scripts. Or, possibly, someone who drank the Oracle Kool-Aid and is using su - someuser -c 'some command' to run stuff. Which we all know is utterly and completely terrible, and yet... people do it.