Démarrez MSYS dans le dossier actuel


9

J'ai MinGW / MSYS sous Windows et je ne sais pas comment démarrer le shell MSYS dans le dossier dans lequel je travaille.

Par exemple, dans la console Windows, je travaille dans un dossier c:\tempet si j'appelle MSYS ( msys.bat), il ouvre une nouvelle fenêtre de console à un emplacement fixe, représentant mon dossier personnel.

Comment changer ce msys.batfichier, pour que le shell MSYS s'ouvre dans le dossier de travail actuel (ou y change après le démarrage)?


Pouvez-vous inclure le contenu de ce fichier de commandes dans votre question?
Karan


1
Sauf si j'ai raté quelque chose, je ne vois pas de chemin défini n'importe où dans ce fichier de commandes. Je suppose que rxvt / bash démarrent dans leurs répertoires par défaut selon leurs fichiers de configuration. Vous pourriez peut- être leur transmettre votre dir ( %cd%) actuel , mais je ne suis pas sûr.
Karan

Oui, c'est ce que je recherche: lors de l'appel de bash, demandez-lui de changer dans le dossier de travail actuel sous Windows. Cygwin a une option similaire
zetah

Réponses:


6

Je ne sais pas quelle version de msysgit vous utilisez, mais pour moi, appeler msys.batne change pas le répertoire actuel. Si vous voyez le répertoire en cours de modification, vérifiez le etc/profilefichier dans le répertoire msysgit pour les cdcommandes. Comme ce fichier est exécuté au démarrage d'un shell de connexion, il se peut que vous arriviez toujours dans votre répertoire personnel.


3
Oui, la dernière ligne de ce fichier (... \ mingw \ msys \ 1.0 \ etc \ profile sur mon système) est cd "$HOME". Si vous commentez que out bash commencera dans le dossier actuel, il est assez facile de taper cdpour aller dans le dossier d'accueil.
Brian Burns

4

Comme d'autres l'ont souligné, msys.bat émettra un cd "$HOME"from etc/profile. La définition de la variable d'environnement HOME .me donne un shell mingw avec le répertoire de travail correct.

set HOME=.
C:\MinGW\msys\1.0\msys.bat

1

Vous pouvez créer un fichier bash et passer des arguments au msys2_shell.cmd pour commencer où vous le souhaitez.

msys2_shell.cmd -where "home/name/esp"


0

Si vous souhaitez l'exécuter dans le dossier dans lequel vous travaillez et que vous travaillez régulièrement dans ce dossier, vous pouvez ajouter une ligne à la fin de .bash_profilevotre répertoire personnel.

cd /c/temp

Cette commande sera exécutée chaque fois que vous vous connectez au terminal. Vous pouvez obtenir un fichier élaboré et source si vous avez plusieurs commandes à exécuter, par exemple

. ~/etc/start_script . ~/etc/start_script2

Ceci est particulièrement utile si vous avez déjà configuré votre .bashrc et que vous ne voulez pas vraiment utiliser un autre chemin HOME.


0

Dans le cas où la modification de etc/profile(commentant cd "$HOME"comme dans la première réponse) n'est pas souhaitable pour une raison quelconque, cela pourrait faire le travail:

# in mingw:
%SystemDrive%\mingw\msys\1.0\bin\sh.exe --login -i -c "cd '%TEMP%'; $SHELL"
# msys in root:
%SystemDrive%\msys\bin\sh.exe --login -i -c "cd '%TEMP%'; $SHELL"

Cet exemple démarrerait le shell msys dans le /tmprépertoire.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.