Wie erstelle ich eine Verknüpfung, mit der die Cygwin-Bash-Shell in einem Verzeichnis meiner Wahl (insbesondere UNC) geöffnet wird?

15328
Kit

Bei einer Standardinstallation von Cygwin für Windows XP möchte ich eine Standard-Explorer-Verknüpfung erstellen, mit der eine Bash-Shell geöffnet wird, die bereits in einem Verzeichnis meiner Wahl geöffnet ist. Das Verzeichnis ist ein UNC-Pfad. Die Standarddatei cygwin.bat funktioniert nicht, da sie cmd.exe aufruft und cmd.exe keine UNC-Pfade mag. Idealerweise wird cmd.exe oder eine andere Shell nicht gestartet, um bash zu öffnen. Ich habe versucht, .bashrc zu manipulieren und mein Gedächtnis aus meinen Unix-Tagen herauszuholen, aber leider fehlt es diesen Tagen. Verschiedene Lösungen, die ich ausprobiert habe, funktionieren fast, aber nicht ganz.

8
Siehe auch [SO]: [Cygwin in einem bestimmten Ordner öffnen] (http://stackoverflow.com/q/9637601/2157640) Palec vor 8 Jahren 0

2 Antworten auf die Frage

11
John T

Ich habe nicht mit UNC-Pfaden gespielt, aber im Allgemeinen müssen Sie anstelle von Backslashes Schrägstriche verwenden, wie ich glaube. Bei normalen Laufwerken können Sie /cygdrive/cbeispielsweise auf das Laufwerk C zugreifen.

Um die Shell in einer Batch-Datei zu öffnen, können C:Sie Folgendes verwenden:

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

Möglicherweise interessieren Sie sich auch für chere einen Kontextmenüeintrag für Open Bash hier :

Alt-Text

Ein weiterer Grund für die Verwendung von "chere" ist, dass Sie auswählen können, welches Terminal geöffnet werden soll. Das standardmäßige cygwin-Terminal ist eine etwas klobige IMO. Ich habe stattdessen ein RXVT-Terminal zu öffnen. Nifle vor 14 Jahren 0
Danke für deine Antwort. Ich sehe, wo einer meiner Versuche schief ging: Nein, bash nach der CD! Danke auch für den Kontextmenüeintrag ... Kit vor 14 Jahren 0
Ein großartiges Werkzeug, wenn Sie ein Skript für jemanden schreiben möchten, aber keine Shell-Eingabeaufforderung und keine CD im Arbeitsverzeichnis öffnen möchten. Calculus Knight vor 8 Jahren 0
1
Bondax

Ich habe in der Registrierung einen Unterordner HKEY_CLASSES_ROOT/Directory/shellhinzugefügt und den Schlüssel Cygwinmit dem Schlüssel commanddes Befehls hinzugefügt

cmd.exe /k "E:\PATHTOCYGWIN\bin\bash --login -i -c "cd ""%L"";bash""