Eu uso a seguinte linha (duas com comentário) no topo do meu .bashrc , ele simplesmente aborta se não for um shell interativo:
# if we're not an interactive shell, do nothing
[ -z "$PS1" ] && return
Suponho que se você quiser a forma longa:
# if we're not an interactive shell, do nothing
if [ -z "$PS1" ]; then
return
fi
Isso atenua a necessidade de um arquivo .bashrc_profile , já que o .bashrc altera a forma como responde com base em como foi chamado.