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.