Primeiro, identifique seu shell, conforme observado em outra resposta, isso é feito simplesmente por meio do comando ps ...
$ ps
PID TTY TIME CMD
3360 pts/2 00:00:00 bash
3702 pts/2 00:00:00 ps
Para ter certeza de quais arquivos estão sendo lidos, você precisará investigar o sistema no qual está efetuando login. A shell 'bash' tem muitas opções 'se isto' então 'faça aquilo', do contrário 'faça outra coisa'. Para ver uma descrição completa de quais arquivos são originados, consulte aqui , mas tipicamente a lista é ...
- / etc / profile
- $ HOME / .bash_profile
- $ HOME / .bashrc (se estiver configurado no .bash_profile)
- $ HOME / .bash_logout (no logout, não no login)
Para o shell bourne ('sh'), ele geralmente é executado da seguinte maneira ao efetuar login
- / etc / profile
- $ HOME / .profile
O que eu gosto de fazer em sistemas com os quais não estou familiarizado é uma linha em qualquer arquivo de inicialização que eu esteja esperando ler, que testa se a saída padrão está conectada a um terminal e, se estiver, exibirá o nome do arquivo. Neste exemplo, estou usando-o no arquivo .bash_profile.
[ -t 1 ] && echo "reading .bash_profile"
Isso funciona tanto para o bash quanto para o sh (e alguns outros derivados também). Isso ajuda porque sei o que está sendo lido, quando e se estou recebendo erros, sei de qual arquivo eles vieram (erros antes da primeira mensagem ecoada são prováveis do próprio processo de login ou do sistema / etc / profile em todo o sistema.
Além disso, não se esqueça de que você sempre pode criar seus próprios arquivos de inicialização personalizados e incluí-los, incluindo-os em um arquivo que já está sendo fornecido.