While Ubuntu makes use of .profile by default,
OS X chose to use .bash_profile (and no .profile file),
which takes precedence on the list given above.
.profile works with sh or bash.
However .bash_profile is bash-specific and will override .profile if present.
Invoked as an interactive login shell, or with –login
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.