Bash .profile not loading

Does ~/.bash_profile or ~/.bash_login exist? If so, that'll be used instead of ~/.profile.


In Unix FAQ (for OS X) we can read:

Bash Startup Files

When a "login shell" starts up, it reads the file /etc/profile and then ~/.bash_profile or ~/.bash_login or ~/.profile (whichever one exists - it only reads ONE of these, checking for them in the order mentioned).

When a "non-login shell" starts up, it reads the file /etc/bashrc and then the file ~/.bashrc.

Note that when bash is invoked with the name sh, it tries to mimic the startup sequence of the Bourne shell (sh). In particular, a non-login shell invoked as sh does not read any dot files by default. See the bash man page for details.

So if you already have ~/.bash_profile, the file ~/.profile won't be automatically read by bash, therefore you can add the following lines in your ~/.bash_profile to load it:

# Load user profile file
if [ -f ~/.profile ]; then
  . ~/.profile
fi