Quando você executa bash --login
, isso inicia um login shell . Uma das peculiaridades de bash em relação aos arquivos de inicialização é que, se for um shell de login, ele só lê ~/.bash_profile
(ou se não existir ~/.bash_login
, ou se não existir ~/.profile
), não ~/.bashrc
mesmo se o shell for interativo.
Para executar código em um shell de login, coloque-o em ~/.bash_profile
se for específico para bash, ou em ~/.profile
se você quiser que ele aconteça em qualquer login, mesmo quando /bin/sh
for invocado.
Para garantir que suas personalizações para shells interativas sejam aplicadas, coloque o seguinte código em ~/.bash_profile
:
case $- in
*i*) if [ -e ~/.bashrc ]; then . ~/.bashrc; fi;;
esac
if [ -e ~/.profile ]; then . ~/.profile; fi