Git for Windows doesn't execute my .bashrc file
WindowsGitBashWindows 7Windows Problem Overview
I've just installed Git for Windows 2.5.0 on Windows 7, and it appears that my .bashrc
file is not being executed when I run Git Bash.
I created the file like so:
Administrator@HintTech-Dev MINGW64 /
$ pwd
/
Administrator@HintTech-Dev MINGW64 /
$ cd ~
Administrator@HintTech-Dev MINGW64 ~
$ pwd
/c/Users/Administrator
Administrator@HintTech-Dev MINGW64 ~
$ touch .bashrc
Administrator@HintTech-Dev MINGW64 ~
$ vi .bashrc
[... I insert the line "ZZZTESTVAR=234" (without the quotes) into the file in vim ...]
Administrator@HintTech-Dev MINGW64 ~
$ exit
Yet, when I next run Git Bash:
Administrator@HintTech-Dev MINGW64 /
$ set | grep ZZZ
Administrator@HintTech-Dev MINGW64 /
$ cat ~/.bashrc
ZZZTESTVAR=234
Administrator@HintTech-Dev MINGW64 /
$ ZZZTESTVAR=234
Administrator@HintTech-Dev MINGW64 /
$ set | grep ZZZ
ZZZTESTVAR=234
Administrator@HintTech-Dev MINGW64 /
$
Why isn't my .bashrc
being run? It seems to be in the right place and have the right permissions.
Windows Solutions
Solution 1 - Windows
OK, I found out the problem. Quite simply, the bash terminal used by the latest Git for Windows 2.5.0 (mintty) doesn't bother to read .bashrc
- it reads .bash_profile
. So you can set up your environment in .bash_profile
and/or put this code at the start to read .bashrc
:
if [ -f ~/.bashrc ]
then
. ~/.bashrc
fi
Solution 2 - Windows
Same thing happened to me when I upgraded to Git Bash 2.5.0 in Windows 10. I renamed my '.bashrc' -> '.bash_profile' and relaunched Git Bash. Everything's working as usual again.
mv ~/.bashrc ~/.bash_profile
Solution 3 - Windows
It appears the latest version of git for Windows (2.8.3.windows.1) uses a 'profile' file now instead of the .bash_profile. I assume this is so it isn't hidden and a valid file name. Didn't seem to cause any issues before, but maybe it was confusing to people.
Solution 4 - Windows
A bit late on this answer perhaps, but you could call bash
with the -rcfile
argument followed by the location of your .bashrc
file.
bash -rcfile C:\Users\name\.bashrc
I've added this to the end of my PowerShell profile (.ps1 file) so that Powershell automatically opens in bash
and configured to my preferences.