Coloque tudo em .bashrc
e, em seguida, fonte .bashrc
de.profile
Na página do man bash (no OS X 10.9):
Quando um shell interativo que não é um shell de login é iniciado, o bash lê e executa comandos de ~ / .bashrc, se esse arquivo existir. Isso pode ser inibido usando a opção --norc. A opção --rcfile file forçará o bash a ler e executar comandos do arquivo em vez de ~ / .bashrc
O texto acima é o motivo pelo qual tudo é colocado .bashrc
. No entanto, há um comportamento um pouco diferente ao lidar com um shell de login. Novamente, citando a partir da página de manual:
Quando o bash é chamado como um shell de login interativo ou como um shell não interativo com a opção --login, ele primeiro lê e executa comandos do arquivo / etc / profile, se esse arquivo existir. Depois de ler esse arquivo, ele procura ~ / .bash_profile, ~ / .bash_login e ~ / .profile, nessa ordem, e lê e executa comandos do primeiro que existe e é legível. A opção --noprofile pode ser usada quando o shell é iniciado para inibir esse comportamento.
.profile
é lido para shells de login, mas .bashrc
não é. Duplicar tudo isso .bashrc
é ruim ™, por isso precisamos fornecê-lo .profile
para que o comportamento permaneça consistente.
No entanto, você não deseja obter .bashrc
de forma .profile
incondicional. Consulte os comentários e outras respostas para obter detalhes adicionais.