I am using iTerm in Mac OS X 10.6. It seems when i open iTerm, neither .bashrc nor .bash_profile is sourced. I can tell because the aliases defined in .bashrc don't work. How to fix?
|
|
migrated from stackoverflow.com Aug 7 '11 at 9:57
|
Bash will source EITHER .bash_profile or .bashrc, depending upon how it is called. If it is a login shell, Bash looks for ~/.bash_profile, ~/.bash_login, or ~/.profile, in that order, and sources the first one it finds (and only that one). If it is not a login shell but is interactive (like most terminal sessions), Bash will source ~/.bashrc. Likely, iTerm is looking for ~/.bashrc. If it's configured to start as a login shell, it will look for ~/.bash_profile. It's almost certainly an error within the config file rather than that the shell is not sourcing it. I would put a line at the beginning of each file. At the top of ~/.bash_profile:
And at the top of ~/.bashrc:
Then, open a new iTerm and type
That should confirm the file is being sourced and you can look into the syntax of the file. |
||||
|
|
|
Put your alias definitions in the bash profile file, you have to create the file but it will be sourced automatically. I create a separate file called alias.configuration and source it in .bash_profile just because I have another user defined and want to have the same alias set. |
|||
|
|
|
On my 10.6 machine |
|||
|
|
|
In iTerm2, ensure you're using "login shell" instead of a custom command including "login", which doesn't do what you expect. |
|||
|
|
|
In iTerm2, none of these solutions worked for me. I was able to get it to properly read my .bashrc file by adding the command
to the Send text at start: field in Settings/General for my iTerm profile.
|
|||||||
|
|
Add
to the beginning of You can remove the |
|||
|
|
