Why do I have to source ~/.bash_login every time I open Terminal
Solution 1:
Does it have to be .bash_login
? Try renaming it to .profile
.
Solution 2:
Bash only reads the .bash_login
file if it's started as a login shell (was passed the --login
flag). Try renaming it to .bashrc
instead, which is evaluated when bash
was invoked as an interactive shell without the --login
flag.
Solution 3:
Make sure your .bash_login script doesn't contain relative paths like
source .profile
Change to
source ~/.profile
Lion changes the directory to your current tab or where your last session is, so all paths have to be absolute now.
Solution 4:
For me bash in Lion does not load ~/.profile either.
Adding source ~/.profile
command to run at startup in shell preferences helped, but is quite unelegant.