49 votes

Profil MinGW Bash

J'utilise MinGW sur Windows 7. J'ai un .bashrc avec quelques alias. Le fichier se trouve dans mon dossier personnel, qui est celui dans lequel MinGW me fait démarrer, et il croit donc que ce dossier est mon dossier personnel. Il ne charge pas automatiquement le contenu du dossier. Je dois exécuter la commande bash pour que les alias fonctionnent.

J'ai essayé de le renommer en .bash_profile . Cela n'a fait qu'empirer les choses car il ne s'est pas chargé automatiquement et ne s'est pas non plus chargé lorsque j'ai lancé bash manuellement.

Comment puis-je résoudre ce problème ?

64voto

jjlin Points 14572

bash est probablement démarré en tant que login Shell, dans ce cas il ne lit pas .bashrc automatiquement. Au lieu de cela, il lit .bash_profile . De la Manuel Bash :

Donc, typiquement, votre `~/.bash_profile' contient la ligne

if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

après (ou avant) toute initialisation spécifique à la connexion.

En résumé, créez un .bash_profile dans votre répertoire personnel, et ajoutez la ligne citée ci-dessus.

Si votre bash est en fait invoqué en tant que sh Dans ce cas, vous devez utiliser .profile 代わりに .bash_profile (voir la section "Invoked with name sh" du manuel Bash ci-dessus).

10voto

Bryan Points 101

J'utilise Windows XP et j'ai eu le même problème. J'ai trouvé _HOWTO Créer un environnement de construction MSYS_ .

C'est la ligne importante :

Pour faciliter l'identification de la version d'exécution et du répertoire de travail actuel, les éléments suivants peuvent être ajoutés au fichier ~/.profile fichier.

Dans MinGW Shell, j'ai créé .profile :

cd ~
touch .profile

J'ai utilisé Bloc-notes++ pour l'éditer sous la forme d'un fichier texte au format Unix nommé .profile et je l'ai enregistré dans mon répertoire personnel, C:\MinGW\msys\1.0\home\Your_Username_Here\.profile

J'ai ensuite ajouté mon alias et j'ai sauvegardé :

alias n='nano -w'

J'ai ensuite lancé le MinGW Shell de mon menu démarrer et hop, ça a marché ! nano sans habillage de texte.

J'espère que cela vous aidera.

3voto

Koshmaar Points 89

Pour moi, pour MINGW installé avec GIT, cela a fonctionné : .bash_profile mis dans C:\Users\[user_name]

C'est également le répertoire dans lequel ~ pointe dans Shell (pwd).

Comme ça :)

3voto

Paul Munsey Points 31

Le fichier .bash_profile ne fonctionnait pas pour moi (il n'était pas lu), j'ai donc adopté l'approche .profile et l'ai placé à l'intérieur :

exec bash

Cela remplace mon Shell actuel par un nouveau démarrage de bash, qui lit mon .bashrc

Je pense que l'utilisation d'un .profile suggère que c'est sh qui est utilisé lors de la connexion, et non bash.

2voto

captinbo Points 211

Dans la même veine que @Koshmarr, mais légèrement différente. Mon mingw64 téléchargée à partir du site git-scm.com chargerait /c/Users/[user-name] au démarrage. Pourtant, mon disque d'origine (trouvé par cd ~ ) était en /h/ . J'ai mis un .bashrc y .bash_profile dans mon ~ et tout a fonctionné.

での .bash_profile :

    source ~/.bashrc;

Il suffit de déterminer l'endroit où MINGW considère qu'il est chez lui et d'y placer le .bash_profile là.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X