Não, não há. Sim, isso é um defeito de design.
Use o seguinte conteúdo em ~/.bash_profile
:
if [ -e ~/.profile ]; then . ~/.profile; fi
if [[ -e ~/.bashrc && $- = *i* ]]; then . ~/.bashrc; fi
Tenha em atenção que o bash tem uma peculiaridade ainda mais estranha: quando é uma shell de início de sessão não interactivo e o processo pai é rshd
ou sshd
, bash sources ~/.bashrc
(mas não ~/.bash_profile
ou ~/.profile
) . Então você pode querer colocar isso no topo do seu .bashrc
:
if [[ $- != *i* ]]; then return; fi
Veja também Diferença entre .bashrc e .bash_profile e Diferença entre o Shell de Login e o Shell de Não Login?