Existem muitos lugares onde PATH
pode ser definido.
O programa login
define como um valor padrão. Como esse valor padrão é configurado depende do sistema. Na maioria dos sistemas Linux não embarcados, ele é obtido de /etc/login.defs
, com valores diferentes para raiz e para outros usuários. Consulte o manual login(1)
em seu sistema para descobrir o que ele faz.
Em sistemas que usam PAM , especificamente o pam_env
módulo, variáveis de ambiente podem ser definidas no arquivo de todo o sistema /etc/environment
e o arquivo por usuário ~/.pam_environment
.
Em seguida, a maioria das maneiras de efetuar login (mas não de tarefas agendadas) executam uma shell de login que lê arquivos de configuração de todo o sistema e por usuário. Esses arquivos podem modificar o valor de PATH
, geralmente para adicionar entradas, mas às vezes de outras maneiras. Quais arquivos são lidos dependem do que é o shell de login. Cascas Bourne / estilo POSIX leem /etc/profile
e ~/.profile
. Bash lê /etc/profile
, mas para o arquivo por usuário, ele lê somente o primeiro arquivo existente entre ~/.bash_profile
, ~/.bash_login
e ~/.profile
. Zsh lê /etc/zshenv
, ~/.zshenv
, /etc/zprofile
, ~/.zprofile
, /etc/zlogin
e ~/.zlogin
. Muitas sessões da GUI organizam para carregar /etc/profile
e ~/.profile
, mas isso depende do gerenciador de exibição, do ambiente da área de trabalho ou de outro script de inicialização da sessão e de como cada distribuição configurou isso.