cygwin + console2: l'exécution de bash cygwin avec démarrage dir
Je suis en utilisant Console2 comme un bash wrapper sur Windows. Plus important encore, il me permet de lancer un bash onglet dans un projet prédéfini répertoire.
Maintenant, je voudrais remplacer la ligne de commande de Windows par un bash Cygwin. Cependant, le "Démarrage Dir" dans Console2 n'est pas respectée par Cygwin.
En gros, je vois trois solutions:
- Comprendre comment le Console2 paramètre a pour ressembler à de sorte que le bash Cygwin respecte
- Ajouter un paramètre de démarrage pour le bash Cygwin, le réglage du répertoire de démarrage
- Automatiquement l'exécution d'un script après bash démarrage qui change le répertoire
Chercher dans Cygwin, la documentation et le reste de l'Internet, je ne pouvais pas trouver une solution à l'une de ces approches. Je ne pouvais imaginer que la solution est triviale à quelqu'un d'autre. 🙂
environnement: Win XP, Console 2.00.146, Cygwin 1.7.7, GNU Bash 3.2.51(24)
Vous devez vous connecter pour publier un commentaire.
Comme pour le dernier point, modifier votre
~/.bashrc
et ajouter uncd
commande à la fin.Au lieu de cela, vous pouvez essayer ce pour votre premier point: Si votre Console2 de configuration de démarrage de Bash ressemble à quelque chose comme ceci:
le modifier:
cd /cygdrive/c/projects
de"~/.bashrc", qui n'a pas été exécuté. Votre deuxième solution fonctionne, cependant, après 5 essaye. Apparemment, c'est une nécessité d'utiliser les chemins POSIX.J'ai eu le même problème, vu votre post, et ensuite trouvé cette réponse:
Code:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\Open Cygwin Ici...]
[HKEY_CLASSES_ROOT\Directory\shell\Open Cygwin Ici...\command]
@="\"C:\Program Files\Console2\Console.exe\" -t Bash -r \ \ "/bin/xhere /bin/bash.exe '%L'\""
Trouvé cette solution:
http://www.e-texteditor.com/forum/viewtopic.php?p=8884
L'environnement de ligne de commande exécuter dans le travail actuel dir ou dans le "Démarrage Dir".
J'ai essayé les variations de tous les ci-dessus, mais aucune n'a fonctionné. C'est ce qui a fonctionné pour moi, en utilisant Console2 v2.00.148:
1)..Copie Cygwin.chauve-souris dans un nouveau fichier: Cygbash.chauve-souris.
2)..Remplacer la dernière ligne présente:
bash --login -i -c 'cd /cygdrive/c/; exec bash'
3)..Aller dans Console2 paramètres et changer le shell de point pour cette nouvelle Cygbash.le fichier bat.
Ci-dessus va commencer Console2 dans la racine de votre lecteur C.
fyi - je suis le posteur d'origine, juste oublié de me connecter à mon compte en premier.
J'ai eu quelques problèmes avec les approches ci-dessus (Console2 fenêtre vissé vers le haut lors de l'utilisation de c:\cygwin\bin\bash.exe comme shell, xhere, ne reflétant pas mon travail réel dir).
J'ai donc créé ce fichier de commandes et l'a utilisé comme Console2 du shell:
C:\cygwin64\cygbash.bat:
C:\cygwin64\bin\bash --login -i -c "/bin/xhere /bin/bash `cygpath -d '%CD%'`"
Concernant votre dernier point, vous pouvez mettre par exemple:
dans ~/.bash_profile
Ce sera ramassé lors de l'utilisation de Console2 et aussi lorsque vous exécutez Cygwin lui-même.
Changer le shell dir pour:
bash --login -i -c 'cd /cygdrive/c/...; exec /bin/bash'
Ajouter cette ligne à la fin de
C:\cygwin\home\USERNAME\.profile
cd -