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.

Trousse
la source

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

John T
la source
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""
Bondax
la source