bash sources .bashrc even for some non-interactive shells.
For example with
echo \$- is $-
in ~/.bashrc, and shell set to /bin/bash (bash 4.2.28)
ssh -n -T localhost true
produces the output
$- is hBc
I assume this is caused by this code in shell.c
if (run_by_ssh || isnetconn (fileno (stdin)))
The man page says
When an interactive shell that is not a login shell is started,
bash reads and executes commands from ~/.bashrc,
but makes no mention of the special handling for ssh and rsh.
This seems to have been the case since at least bash 2.02.
I'd argue this is a misfeature, but I guess that ship has sailed. Can
the man page at least be updated?
Thanks