Possível duplicado:
diferença entre .bashrc e .bash_profile
Qual é a diferença entre .profile
e .bash_profile
, e quando você configura qual?
Ou seja, se eu configurar o .bash_profile
, ainda preciso configurar .profile
?
Possível duplicado:
diferença entre .bashrc e .bash_profile
Qual é a diferença entre .profile
e .bash_profile
, e quando você configura qual?
Ou seja, se eu configurar o .bash_profile
, ainda preciso configurar .profile
?
Respostas:
Supondo que bash
seja seu shell padrão, as diferenças são descritas na bash
página de manual ( man bash
):
When bash is invoked as an interactive login shell, or as a non-interac-
tive shell with the --login option, it first reads and executes commands
from the file /etc/profile, if that file exists. After reading that file,
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists and
is readable. The --noprofile option may be used when the shell is started
to inhibit this behavior.
Há mais detalhes na página do manual que aborda o modo de compatibilidade com shell POSIX, de onde .profile
vem. Leia a seção da página de manual inteira para todos os detalhes.
Se você configurar .bash_profile
, também não precisará configurar .profile
.
Gosto de manter meus próprios aliases e comandos .profile
para que, se eu estragar alguma coisa, saiba que sempre posso excluir o .profile
arquivo sem afetar o sistema em geral ou outros aplicativos que modificam .bash_profile
(como MacPorts).
Para usar a .profile
, pode ser necessário incluir a linha source ~/.profile
na sua, .bash_profile
para que o .profile
arquivo seja lido (consulte a resposta de Ned Deily).
.profile é executado pelo bash quando você obtém um processo shell normal - por exemplo, você abre uma ferramenta de terminal. .bash_profile é executado pelo bash para shells de login - então é quando você telnet / ssh em sua máquina remotamente, por exemplo. Por exemplo, se você ssh remotamente em uma máquina (digamos que você abra um X Terminal), será executado inicialmente .bash_profile. Se nesse XTerminal você digitar "xterm" e gerar outro X Terminal, o .profile será executado para a segunda instância do XTerminal. Os arquivos residem no seu diretório pessoal (~). Se não me engano, por padrão, ambos executam ~ / .bashrc, para que você possa editar isso para definir configurações / variáveis comuns para shells de login e não-logon (por exemplo, configuração PATH, alguns apelidos / atalhos etc.).
.profile
?
para a configuração rápida e simples (onde você não quer complicar as coisas), basta configurar tudo no seu ~ / .profile. Somente quando você tiver alguns problemas (mas provavelmente nunca nunca) aprenderá mais sobre o .bash_login ou o .bash_profile;)
Também estou no OS X e nunca precisei de .bash_profile ou .bash_login e estou usando apenas .profile, mas sua milhagem pode variar ...
.profile
apenas.bashrc
:(