Parece que sua concha é sh. OS X's / bin / sh é uma versão do bash onde a principal diferença é que o modo POSIX é ativado por padrão. Ele não lê ~ / .bash_profile para shells de login. De man bash
:
If bash is invoked with the name sh, it tries to mimic the startup behavior of historical versions of sh as closely as possible, while conforming to the POSIX standard as well. When invoked as an interactive login shell, or a non-interactive shell with the --login option, it first attempts to read and execute commands from /etc/profile and ~/.profile, in that order.
Então você poderia usar ~ / .profile ao invés de ~ / .bash_profile, mas provavelmente você só vai querer mudar o shell para um bash normal:
- Definir inicialização > "Shells open with" para "Default login shell" se estiver configurado para outra coisa
- Executar
chsh -s /bin/bash
se o shell de login padrão foi alterado
Notas sobre o encadeamento de comentários na resposta de David X:
- Symlinking / bin / bash para / bin / sh não ajudaria. Os binários / bin / bash e / bin / sh são quase idênticos, mas o comportamento depende do nome em que o bash foi invocado.
- Terminal e iTerm abrem novos shells como shells de login por padrão, assim, por exemplo, o bash lê ~ / .bash_profile, mas não ~ / .bashrc.
- Contas de usuário normais não estão incluídas em / etc / passwd no OS X.