Coloque tudo em .bashrc
e, em seguida, escolha .bashrc
em .profile
Na página man bash (no OS X 10.9):
When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists. This may be inhibited by using the --norc option. The --rcfile file option will force bash to read and execute commands from file instead of ~/.bashrc
O texto acima é o motivo pelo qual tudo é colocado em .bashrc
. No entanto, há um comportamento um pouco diferente quando você está lidando com um shell de login. Novamente, citando a página man:
When bash is invoked as an interactive login shell, or as a non-interactive 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.
.profile
é lido para os shell de login, mas .bashrc
não é. Duplicar todas essas coisas em .bashrc
é ruim ™, por isso, precisamos fornecer isso em .profile
para que o comportamento permaneça consistente.
No entanto, você não deseja obter .bashrc
de .profile
incondicionalmente. Por favor, veja os comentários e outras respostas para detalhes adicionais.