Os scripts de inicialização são um pouco de labirinto, não são?
Eu acredito que basicamente funciona que .profile
é executado para shells de login - isto é, o que você obteria se você logasse remotamente - e .bashrc
é usado para shells que não são de login, supondo que você esteja usando o bash. .profile
sources .bashrc
, portanto, em geral, você colocaria itens que sempre são usados em .bashrc
, como adições ao caminho padrão e outras configurações de ambiente. Eu acredito que a convenção geral em sistemas * nix e bash é fazer a maior parte da customização em .bashrc
; Eu não vi .bash_aliases
nas distribuições Linux da família Red Hat ou nos sistemas Unix que usei. Não me lembro de ter visto um .bash_local
.
A maneira como o .bash_aliases
é originado parece um bom modelo, por isso pode ser mais fácil fazer suas personalizações em outro arquivo, adicionando isso ao final de .bashrc
:
# Local customized path and environment settings, etc.
if [ -f ~/.bash_local ]; then
. ~/.bash_local
fi
Pode ser útil consultar /etc/skel
, em que os scripts de usuário padrão são copiados para os diretórios iniciais de novos usuários e em /etc/profile
e /etc/bash.bashrc
, que são padrões de todo o sistema.
Acho que a suposição subjacente a tudo isso é que o usuário pode fazer o que o usuário quiser com cópias pessoais de .profile
, .bashrc
, etc., portanto, nenhuma suposição é feita sobre o que está ou não nelas. .