O perfil geralmente é executado em cada login. O arquivo de login em todo o sistema é /etc/profile e os arquivos específicos do usuário geralmente são ~/.profile . Algumas shells têm seu próprio perfil e arquivos rc, por exemplo, o bash tem .bashrc , que é executado por shells bash não-login e .bash_profile , que é executado por shells bash de login. O bashrc do sistema é /etc/bash.bashrc
Assim, você usaria .profile para coisas que deveriam ser executadas por shells de login e .bashrc (ou um equivalente) para coisas que deveriam ser executadas por shells que não são de login (aliases, configurando o env e similares)
clarificação de bash:
Existem dois tipos de shells: shells de login e não-login. Um shell de login é o shell executado quando um usuário faz o login. Shells não-login são todos os outros shells. Por exemplo, quando você faz login via ssh ou em um console, o shell que você recebe é um shell de login.
bash login shells executado na inicialização:
-
/etc/profile - O primeiro arquivo existente dos seguintes itens:
~/.bash_profile,~/.bash_login,~/.profile
bash shells interativos não-login são executados na inicialização:
-
/etc/bash.bashrc -
~/.bashrc
Em alguns (mais?) unices que vêm com o bash, as origens do perfil ~/.bashrc , então ~/.bashrc é executado para as camadas interativas de login e não-login.
Se um arquivo não existir, ele será ignorado.