Quando o computador é inicializado, ele inicia o init e verifica um arquivo (por exemplo, /etc/inittab
) para que os processos iniciem . Normalmente, este arquivo contém algumas linhas como a abaixo.
c5:5:respawn:/sbin/agetty 57600 tty2 xterm-256color
Tradução solta:
Quando no nível de execução 5 (modo multiusuário), inicie agetty (processo de login), no console 2 (ALT-F2). Se o processo morrer (por exemplo, após o logout), inicie um novo (respawn).
Se você entrar naquela agetty, você iniciará um shell de login. Isso pode ser bash. Pode ser outro shell . (Você pode definir o shell padrão com chsh
).
Se você tiver o bash configurado como shell padrão, ele iniciará o bash e procurará nesses locais: (observe, esses arquivos são verificar quando o bash é chamado especificamente como um shell de login )
- / etc / profile
- ~ / .bash_profile
- ~ / .bash_login
- ~ / .profile
Como você pode ver, isso inclui o $ HOME / .profile que você mencionou anteriormente, mas não o $ HOME / .bashrc
Neste caso de um shell não-login interativo, mas , o bash verifica /etc/bashrc
e ~/.bashrc
.
Eu suspeito que a última parte responde à sua pergunta. (Teste com bash -l
ou bash --login
).