web-dev-qa-db-fra.com

Git pour Windows n'exécute pas mon fichier .bashrc

Je viens d'installer Git pour Windows 2.5.0 sur Windows 7 et il semble que mon .bashrc le fichier n'est pas exécuté lorsque j'exécute Git Bash.

J'ai créé le fichier comme ceci:

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

Pourtant, lors de la prochaine exécution de 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 /
$

Pourquoi mon .bashrc en cours d'exécution? Il semble être au bon endroit et avoir les bonnes autorisations.

42
Jez

OK, j'ai découvert le problème. Tout simplement, le terminal bash utilisé par le dernier Git pour Windows 2.5.0 (mintty) ne prend pas la peine de lire .bashrc - ça lit .bash_profile. Vous pouvez donc configurer votre environnement dans .bash_profile et/ou mettez ce code au début pour lire .bashrc:

if [ -f ~/.bashrc ]
then
    . ~/.bashrc
fi
68
Jez

La même chose m'est arrivée lors de la mise à niveau vers Git Bash 2.5.0 dans Windows 10. J'ai renommé mon '.bashrc' -> '.bash_profile' et relancé Git Bash. Tout fonctionne à nouveau comme d'habitude.

mv ~/.bashrc ~/.bash_profile
19
user932885

Il semble que la dernière version de git pour Windows (2.8.3.windows.1) utilise maintenant un fichier 'profile' au lieu du .bash_profile. Je suppose que c'est ainsi qu'il n'est pas caché et un nom de fichier valide. Cela ne semblait pas poser de problème auparavant, mais c'était peut-être déroutant pour les gens.

2
John Livermore

Peut-être un peu en retard sur cette réponse, mais vous pourriez appeler bash avec le -rcfile argument suivi de l'emplacement de votre .bashrc fichier.

bash -rcfile C:\Users\name\.bashrc

J'ai ajouté cela à la fin de mon profil PowerShell (fichier .ps1) afin que Powershell s'ouvre automatiquement dans bash et configuré selon mes préférences.

0
code_cowboy