Comment créer un raccourci qui ouvre le shell bash Cygwin sur un répertoire de mon choix (UNC notamment)?


8

Étant donné une installation standard de Cygwin pour Windows XP, je voudrais créer un raccourci Explorer standard qui ouvre un shell bash déjà ouvert sur un répertoire de mon choix. Le répertoire est un chemin UNC. Le cygwin.bat standard ne fonctionne pas car il appelle cmd.exe et cmd.exe n'aime pas les chemins UNC. Idéalement, il ne démarre pas cmd.exe ni aucun autre shell pour ouvrir bash. J'ai essayé de manipuler .bashrc et de draguer ma mémoire de mes jours Unix, mais malheureusement cela manque de nos jours. Diverses solutions que j'ai essayées fonctionnent presque , mais pas tout à fait.


Réponses:


11

Je n'ai pas joué avec les chemins UNC, mais en général, vous devez utiliser des barres obliques au lieu de barres obliques inverses, je crois. Pour les lecteurs réguliers, vous pouvez /cygdrive/cpar exemple utiliser pour accéder au lecteur C.

Dans un fichier batch, pour ouvrir le shell à la racine de C:vous pourriez utiliser:

c:\cygwin\bin\bash.exe --login -i -c 'cd "/cygdrive/c";bash'

Vous pouvez également être intéressé par chere une entrée de menu contextuel pour Open bash ici :

texte alternatif


Une autre raison d'utiliser chereest qu'il vous permet de choisir le terminal que vous souhaitez ouvrir, le terminal cygwin par défaut est un IMO un peu maladroit. Je l'ai à la place pour ouvrir un terminal rxvt.
Nifle

Merci pour votre réponse. Je vois où une de mes tentatives a échoué: non, bash après le cd! Merci aussi pour l'entrée du menu contextuel ...
Kit

Un excellent outil lorsque vous voulez écrire un script pour quelqu'un mais qu'il ne veut pas ouvrir une invite shell et cd dans le répertoire de travail.
Calculus Knight

1

J'ai ajouté un sous-dossier dans le registre à HKEY_CLASSES_ROOT/Directory/shell, ajouté clé Cygwinavec clé commandoù la valeur de la commande est

cmd.exe /k "E:\PATHTOCYGWIN\bin\bash --login -i -c "cd ""%L"";bash""
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.