Quando é um shell de login, o bash primeiro procura por ~/.bash_profile . Se não encontrar, procura ~/.bash_login . Se não encontrar, procura ~/.profile . Em qualquer caso, mesmo que o shell de login seja interativo, o bash não lê ~/.bashrc .
Eu recomendo manter o seguinte conteúdo em ~/.bash_profile e não ter um ~/.bash_login :
if [ -e ~/.profile ]; then . ~/.profile; fi
case $- in *i*) if [ -e ~/.bashrc ]; then . ~/.bashrc; fi;; esac
Dessa forma, seu .profile é carregado, se o seu shell de login é bash ou alguma outra variante sh, e seu .bashrc é carregado por bash, se o shell é um shell de login ou não.