Hinweis: Das chere-Paket muss möglicherweise mit Administratorrechten instanziiert werden. Wenn Sie davon erfasst werden und versucht sind, es zu verwenden sudo, erhalten Sie möglicherweise nicht das erwartete Ergebnis. Melden Sie sich in diesem Fall als Administrator auf dem Windows-Computer an.
Dreftymac
Antworten:
410
Wenn Sie Cygwin installieren (oder wenn Sie es bereits installiert haben, laden Sie es erneut herunter und starten Sie das Setup erneut, um ein Update auszuführen), stellen Sie sicher, dass Sie das cherePaket unter der Kategorie "Shells" auswählen .
Öffnen Sie nach dem Start von Cygwin ein Cygwin-Terminal (als Administrator) und geben Sie den folgenden Befehl ein : chere -i -t mintty -s bash.
Jetzt sollte "Bash Prompt Here" im Windows-Kontextmenü mit der rechten Maustaste angezeigt werden.
( Mintty ist das Standardterminal von Cygwin. Wenn Sie es nicht mit der -tOption auswählen , verwendet Ihre "Bash Prompt Here" dasselbe Terminal wie die Windows-Eingabeaufforderung, wodurch eine horizontale Größenänderung verhindert wird.)
Super Fund, danke! Ich habe festgestellt, dass Sie das Terminal angeben können, das Sie öffnen möchten -t, z. B. um die von Ihnen verwendete Münze zu öffnenchere -i -t mintty
Kevin Condon
29
Gerade mit 64bit Cygwin (1.7.27) getestet und chere scheint jetzt zu existieren. Tipp: Denken Sie daran, das Cygwin-Terminal mit Administratorrechten zu starten.
BuildTheRobots
11
Noch etwas zu beachten. Wenn Sie dies bereits getan haben chere -i -t mintty -f, um das Überschreiben zu erzwingen. Sie müssen cygwin auch weiterhin als Administrator ausführen.
Greg Jennings
29
Hatte Berechtigungsprobleme auf W7x64 (Fehler (5): Zugriff verweigert. Hive nicht beschreibbar). Behebung durch Starten von Cygwin als Administrator.
DmitrySandalov
17
Cygwin hatte keine Standard-Shell in meinem Fall, so dass das Hinzufügen -s bash, um zu machen, chere -i -t mintty -s bashmachte diese Arbeit für mich
Bryce Guinta
97
Folgendes benutze ich. Es erfordert kein chereBasteln von Paketen oder Registrierungen. Funktioniert unter Windows 7.
Sehr schöner Trick, aber der winxAlias funktionierte bei meinem Cygwin-Setup nicht. Ich musste die beiden Schrägstriche entfernen und ersetzen .mit $PWDfür sie zu arbeiten.
not2qubit
Was passiert, wenn die Verknüpfung (angepasst an den Cygwin64-Pfad meiner Installation) Cygwin in meinem Benutzerordner öffnet? :( Vielleicht funktioniert das nur mit 32-Bit-Cygwin?
Alex Hall
Dieser arbeitet auch für michalias winx='/cygdrive/c/Windows/explorer.exe /e,$(cygpath -wa .)'
Wakan Tanka
1
In Cygwin 2.6.0 (auf Win 7 x64) kann es viel einfacher durchgeführt werden: cygstart .Explorer mit dem aktuellen Ordner zu öffnen, oder einen beliebigen Ordner Syntax cygstart .., cygstart /your/pathetc ...
244an
2
Warnung: Das C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico C:\cygwin\bin\bash.exe -l -c "cd \"$0\" ; exec bashDateihandle bleibt im $0Verzeichnis geöffnet , auch nachdem Sie das Arbeitsverzeichnis in ein anderes geändert haben. Was noch schlimmer ist ALT+F2, wenn eine Kopie des Fensters ( ) erzeugt wird, selbst wenn Sie das Arbeitsverzeichnis bereits geändert haben, wird ein anderes Dateihandle für geöffnet $0. Dies kann einige Vorgänge beeinträchtigen, die $0in einem beliebigen Prozess gelöscht / geändert werden sollen. Wenn beim Zugriff die Fehlermeldung "Berechtigung verweigert" angezeigt wird, ist $0dies möglicherweise die Ursache
matt
33
Führen Sie auf dem Cygwin-Terminal den folgenden Befehl aus:
echo "cd your_path" >> ~/.bashrc
Das .bashrc-Skript wird ausgeführt, wenn Sie eine neue Bash-Sitzung öffnen. Der obige Code ändert sich in das Verzeichnis your_path, wenn Sie eine neue Cygwin-Sitzung öffnen.
Dies ist nicht die Antwort, da keine Verknüpfung erstellt wird, die dieses Verzeichnis verwendet, wie in der Frage gefordert, sondern das Verhalten aller Methoden zum Starten der Cygwin-Shell geändert wird. Sie sollten keine globale Einstellung (oder kein Anmeldeprofil) ändern, um ein lokales Problem zu lösen.
Ben Voigt
Ich habe einmal genau diese Methode verwendet, um einen Benutzer an die Kennwortdatei anzuhängen und versehentlich eines der >Zeichen wegzulassen. Dann habe ich mich abgemeldet :-)
paxdiablo
@paxdiablo autsch
bschwagg
30
Ich habe eine .reg-Datei erstellt, die eine Option "Open Cygwin Here" in das Kontextmenü mit der rechten Maustaste einfügt. Dies hängt vom Cygwin-Paket "chere" ab, das Sie mit apt-cyg installieren können, wenn Sie es bei der Ersteinrichtung nicht installiert haben.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"
Wenn Sie sich fragen, wie Sie dies verwenden sollen, kopieren Sie einfach den Text mit grauem Hintergrund, fügen Sie ihn in eine Textdatei mit dem Namen "foo.reg" ein und doppelklicken Sie darauf.
Andrew Moylan
3
+1 die beste Lösung hier. Und danke für die Erwähnung apt-cyg, ich wusste nichts über dieses Tool
user11153
Dies war genau das, wonach ich gesucht hatte, und es half mir sogar bei anderen Dingen, da selbst die Microsoft-Website nicht das gleiche Ergebnis erzielte.
FilBot3
Ich musste zu "cygwin" wechseln, aber ich erhalte die folgende Fehlermeldung: "Fehler beim Ausführen von / bin / xhere: Keine solche Datei oder kein solches Verzeichnis"
Totty.js
@ Totty.js Sind Sie sicher, dass Sie das 'chere'-Paket in Cygwin installiert haben?
Jeutnarg
17
Für cygwin64 oder Installationen ohne chere können Sie den folgenden Befehl in einem Registrierungseintrag verwenden (vorausgesetzt, Windows aufgrund Ihres Pfads, vorausgesetzt, das cygwin-Installationsverzeichnis ist c: \ cygwin64).
Können Sie erklären, warum Sie 3 (x2) Registrierungseinträge haben?
not2qubit
Sie sind für Verzeichnis-, Laufwerks- und Hintergrundkontexte
Tom Kay
Endlich eine Lösung, die für mich funktioniert hat, obwohl ich einige Probleme habe, sie vollständig zu verstehen ;-) [die 'Bash' nach 'Exec Bash']. Hinweis: Sie können die 3 Einträge durch 1 ersetzen: 'Ordner' anstelle von 'Verzeichnis', 'Laufwerk' und 'Hintergrund'.
t0r0X
Mit nur 'Ordner' wird der Link im Kontextmenü eines Laufwerks angezeigt, kann jedoch nicht ausgeführt werden. Ich konnte jedoch mit 'Ordner' und 'Verzeichnis \ Hintergrund' auf 2 Einträge reduzieren
Tom Kay
1
Für Emacs: "C: \\ cygwin \\ bin \\ mintty.exe -i /Cygwin-Terminal.ico / bin / bash -l -c 'emacs \" cygpath \"%V\"\ ";'"
Jan Matousek
12
Wenn Sie dieses Verzeichnis als Standard verwenden möchten, fügen Sie cdIhrer ~/.profileDatei einfach eine Anweisung hinzu .
Ich benutze diese Methode, um mein übliches Verzeichnis festzulegen und Aliase für meine häufigsten Fälle zu definieren:
alias tom="cd /users/tom"
oder Ihr Äquivalent. Dadurch kann ich sehr schnell Verzeichnisse wechseln.
Muss dieser Alias auch zur ~/.profileDatei hinzugefügt oder nur einmal ausgeführt werden?
Iono
2
@tomeoftom, wenn Sie das nur in einer Shell ausführen, wirkt sich dies nur auf diese Shell aus. Es wirkt sich nicht auf andere aus, die Sie starten. Wenn Sie also möchten, dass es immer verfügbar ist, müssen Sie es in eine Ihrer Startdateien einfügen (von denen dies ~/.profileeine Möglichkeit ist).
Paxdiablo
Bei ~ / .profile hat es bei mir nicht funktioniert, aber ~ / .bashrc hat funktioniert.
Zupa
@zupa, die Regeln, aus denen Startdateien stammen, sind ziemlich kompliziert (obwohl alles auf der bashManpage vorhanden ist, wenn Sie tief genug graben). Deshalb habe ich .profileals eine Möglichkeit angegeben.
Paxdiablo
.profile gibt letztendlich .bashrc an, sodass Sie diesen Befehl möglicherweise stattdessen an bashrc anhängen möchten. (.profile hat bei mir nicht funktioniert)
laertis
8
Ich benutze und Icon, um meinen Cygwin ohne das cherePaket zu starten .
Erstellen Sie auf meinem Desktop eine Verknüpfung für das Cygwin-Terminal.
Klicken Sie erneut auf das Symbol und wählen Sie Eigenschaften aus.
Verwenden Sie dies auf der Registerkarte "Verknüpfung" für das ZIEL:
C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
Geben Sie für START IN den Pfad des Verzeichnisses / Ordners ein, in dem Sie cygwin starten möchten. dhC:\some\dir\name\here
ok 2 Dinge 1. Das Anhängen -cin "Ziel" macht keinen Unterschied, solange Sie in "Start In" einen Pfad angeben. 2. Diese Lösung verursacht ein Problem mit PATH. cygwin kann /usr/local/bin:/usr/binim Systempfad nicht vorangestellt werden, sodass einige seiner Binärdateien nicht aufgerufen werden können. Die Konfiguration befindet sich wahrscheinlich in /etc/profile>> `if [$ {CYGWIN_NOWINPATH-addwinpath} =" addwinpath "]; dann `
laertis
8
Wie two7s_clash sagte, müssen Sie zuerst das cherePaket installieren und mintty einrichten:
Öffnen Sie das Cygwin-Terminal als Administrator
apt-cyg install chere
chere -i -t mintty
Sie können Cygwin jetzt in einem bestimmten Verzeichnis mit einem Rechtsklick im Windows Explorer (Kontextmenü) öffnen und "Bash Prompt Here" auswählen.
Sie können cygwin auch über die Windows-Eingabeaufforderung aus einem bestimmten Verzeichnis öffnen:
Öffnen Sie die Windows-Eingabeaufforderung
Navigieren Sie ( cd) zum benutzerdefinierten Verzeichnis
Versuchen Sie Folgendes, um eine Windows-Verknüpfung zu erstellen, mit der ein Cygwin-Terminal in einem Verzeichnis Ihrer Wahl gestartet wird:
Klicken Sie mit der rechten Maustaste auf den Windows-Desktop, wählen Sie "Neu" und dann "Verknüpfung".
Geben Sie für den Speicherort des Elements den folgenden Text ein, ändern Sie den minttyPfad nach Bedarf und ersetzen Sie den Namen des gewünschten Verzeichnisses an der angegebenen Stelle.
Geben Sie den gewünschten Namen für die Verknüpfung ein und klicken Sie auf "Fertig stellen".
Auf dem Desktop können mehrere Verknüpfungen platziert werden, um Cygwin-Terminals in verschiedenen Verzeichnissen zu öffnen, auf die häufig zugegriffen wird.
Wenn eine Neuinstallation erforderlich ist, erstelle ich eine Windows- "Benutzerumgebungsvariable" mit dem Namen HOMEund weist ihr den Pfad zu, wo sich "Eigene Dateien" befinden.
Das Cygwin-Installationsprogramm erkennt die HOMEVariable, übersetzt sie automatisch in einen Cygpath und wählt sie als mein ~ -Verzeichnis aus.
Dies hat für jede Workstation, die ich in den letzten 5 Jahren professionell genutzt habe, gut funktioniert (ca. 3 oder 4, Win7). Ich war schon immer der einzige Benutzer auf diesen Maschinen, kann nicht sagen, was der Effekt ist.
Ich habe ein Registrierungsbearbeitungsskript erstellt, um Cygwin in jedem Ordner zu öffnen, auf den Sie mit der rechten Maustaste klicken. Es ist auf meinem GitHub.
Ich denke, eine Voraussetzung für die Existenz von xhere ist die Installation von chere, wie in anderen Antworten erwähnt.
Samuel
1
Auf meinem Windows-Computer dauerte es nicht:
chere -i -t mintty
Da Mintty Shell nicht verfügbar war, haben Sie möglicherweise die Wahl zwischen verschiedenen anderen Shells wie Ash Bash Cmd Dash Mksh Pdksh Posh Tcsh Zsh Passwd.
Mintty ist keine Shell, sondern ein Terminalemulator.
Palec
Wie beantwortet dies die ursprüngliche Frage?
Leigh
Dies wird denjenigen helfen, die keine Minze in ihrem System haben und beim Versuch, die oben angegebene Lösung zu versuchen, eine Fehlermeldung erhalten. Ich habe auch die oben angegebene Lösung befolgt, aber es hat auf meinem Windows-Computer nicht funktioniert, aber meine Antwort hat das Problem gelöst.
user3065757
1
Sie können einfach das Cygwin-Terminal öffnen und schreiben: cd und nach Drag & Drop den Ordner, den Sie beenden möchten, eingeben!
Dies löst die gestellte Frage zwar nicht vollständig, ist jedoch ein sehr nützlicher Tipp. Vielen Dank.
RoG
1
In der Antwort, die die Registrierung verwendet, habe ich festgestellt, dass Sie unter Windows 2008 R2 SP1 den Hintergrund aus dem Pfad entfernen müssen. Da chere und xhere nicht Teil von cygwin64 sind, ist hier eine Lösung, die für beide funktioniert und die Registry- und die Send To-Lösung kombiniert. Ersetzen Sie 'E: \ cygwin64' durch Ihren Installationsort:
Ich habe die Batch-Datei erstellt und in das Verzeichnis / bin von Cygwin gestellt. Dieses Skript wurde entwickelt, um die Registrierungseinträge zum Öffnen ausgewählter Ordner und Laufwerke in Cygwin zu installieren / deinstallieren. Weitere Informationen finden Sie unter dem Link http://with-love-from-siberia.blogspot.com/2013/12/cygwin-here.html .
Update: Diese Lösung funktioniert genauso wie frühere Vorschläge, aber alle Manipulationen mit der Windows-Registrierung sind im Skript verborgen.
Ich hatte auch ein Problem mit git, das meine Cygwin-Befehle "stahl" - also musste ich es ausführen, C:\cygwin\bin\mintty.exe -
aber nach der Installation chereund Ausführung chere -i -t mintty -f als Administrator (siehe oben) können Sie einfach Folgendes verwenden: C:\cygwin\bin\mintty.exe -e /bin/xhere /bin/bash.exe "."
Ich habe dies in Total Commander als benutzerdefinierte Schaltfläche hinzugefügt (rechts) Klicken Sie auf Panel> Hinzufügen ...) und es funktioniert sehr gut.
Erstellen Sie eine Bash-Datei move.shmit dem folgenden Code.
C:\cygwin64\bin\run.exe -p /bin bash runFile.sh
Dadurch wird Cygwin gestartet und das runFile.shvorhandene Verzeichnis im bin-Verzeichnis von Cygwin ausgeführt. Angenommen, Sie möchten zu einem bestimmten Verzeichnis navigieren, z. B. E:\code
runFile.sh hat den folgenden Codecd E:
cd code
Endlich eine Antwort, die unabhängig von Cygwin selbst ist.
Dies nutzt die Tatsache , dass, wenn ich auf das Verzeichnis bin , C:\\Coolund ich rufe den Befehl C:\\Cygwin\\bin\\mintty.exe, minttyöffnet sich automatisch auf dem aktuellen Verzeichnis, das heißt C:\\Cool.
Zunächst müssen Sie die Datei C:\\Cygwin\\silent_run.vbsmit den folgenden Inhalten erstellen :
Function EnquoteString(argument)
EnquoteString = Chr(34) & argument & Chr(34)
End Function
arglist = ""
With WScript.Arguments
For Each arg In .Unnamed
' Wscript.Echo "Unnamed: " & arg
If InStr(arg, " ") > 0 Then
' arg contains a space
arglist = arglist & " " & EnquoteString(arg)
Else
arglist = arglist & " " & arg
End If
Next
End With
CreateObject("Wscript.Shell").Run Trim( arglist ), 0, False
Als Nächstes verwenden Sie zur Installation dieser Antwort eine Windows-Registrierungsdatei. Fügen Sie dazu einfach den Inhalt der folgenden Datei in eine Datei mit dem Namen einC:\\Cygwin\\AddMinttyToContextMenu.reg
Korrigieren Sie nun alle fest codierten Pfade, dh C:\\Cygwinan dem tatsächlichen Speicherort, an dem sich Ihre Cygwin-Installation befindet.
Öffnen Sie dann einfach die Datei C:\\Cygwin\\AddMinttyToContextMenu.reg, um Ihre neuen Registrierungseinträge zu installieren, und Sie sind fertig.
Die Datei C:\\Cygwin\\AddMinttyToContextMenu.regöffnet zunächst a cmd.exe, wechselt in das Verzeichnis, in dem Sie sich befinden, und ruft dann C:\\Cygwin\\silent_run.vbsauf, um das C:\\Cygwin\\bin\\mintty.exeTerminal mit den Befehlszeilenoptionen zu öffnen-w max zu öffnen, dh um es maximiert zu öffnen.
Das Skript C:\\Cygwin\\silent_run.vbsist erforderlich, um das C:\\Cygwin\\bin\\mintty.exeTerminal zu öffnen, ohne dass das erste, das cmd.exewir geöffnet haben, geöffnet bleibt .
Der erste Eintrag von C:\\Cygwin\\AddMinttyToContextMenu.regwird nicht verwendet, C:\\Cygwin\\silent_run.vbsda die HKEY_CLASSES_ROOT\Directory\Background\shellSchlüssel standardmäßig bereits im aktuellen Verzeichnis geöffnet sind. Dann können wir einfach aufrufenC:\\Cygwin\\bin\\mintty.exe direkt , damit es sofort funktioniert.
@echo off
C:
SET mypath=%~dp0
c:\cygwin\bin\bash -c "cd '%mypath%'; export CHERE_INVOKING=1; exec /bin/bash --login -i"
Kopieren Sie die obigen Befehle in eine Textdatei und speichern Sie sie als .bat in einem beliebigen "Ordner von Interesse". Es sollte cygwin in "Ihrem Ordner von Interesse" öffnen.
Basierend auf der @ LindseyD-Antwort habe ich eine einfache BAT-Datei erstellt, die Cygwin im aktuellen Verzeichnis öffnet. Dies kann nützlich sein (für mich ist es das). Angenommen, Sie haben das bin-Verzeichnis von cygwin in PATH.
FOR /F %%x IN ('sh -c pwd') DO bash -l -i -c 'cd %%x; exec bash'
sudo
, erhalten Sie möglicherweise nicht das erwartete Ergebnis. Melden Sie sich in diesem Fall als Administrator auf dem Windows-Computer an.Antworten:
Wenn Sie Cygwin installieren (oder wenn Sie es bereits installiert haben, laden Sie es erneut herunter und starten Sie das Setup erneut, um ein Update auszuführen), stellen Sie sicher, dass Sie das
chere
Paket unter der Kategorie "Shells" auswählen .Öffnen Sie nach dem Start von Cygwin ein Cygwin-Terminal (als Administrator) und geben Sie den folgenden Befehl ein :
chere -i -t mintty -s bash
.Jetzt sollte "Bash Prompt Here" im Windows-Kontextmenü mit der rechten Maustaste angezeigt werden.
( Mintty ist das Standardterminal von Cygwin. Wenn Sie es nicht mit der
-t
Option auswählen , verwendet Ihre "Bash Prompt Here" dasselbe Terminal wie die Windows-Eingabeaufforderung, wodurch eine horizontale Größenänderung verhindert wird.)quelle
-t
, z. B. um die von Ihnen verwendete Münze zu öffnenchere -i -t mintty
chere -i -t mintty -f
, um das Überschreiben zu erzwingen. Sie müssen cygwin auch weiterhin als Administrator ausführen.-s bash
, um zu machen,chere -i -t mintty -s bash
machte diese Arbeit für michFolgendes benutze ich. Es erfordert kein
chere
Basteln von Paketen oder Registrierungen. Funktioniert unter Windows 7.Gehen Sie zu Ihrem Ordner "Senden an":
Erstellen Sie eine Verknüpfung mit dem Namen "
Bash Here
Folgendes" imTarget
Feld:Im Windows Explorer klicken Sie mit der rechten Maustaste auf einen Ordner und wählen ihn aus
Send To > Bash Here
.Und hier ist der umgekehrte Trick: Öffnen Sie einen Windows Explorer in Ihrem aktuellen Bash-Verzeichnis. Erstellen Sie diesen Alias:
Hinweis: Der
cygpath -w .
obige Teil ist in Back-Ticks eingeschlossen.Geben Sie jetzt einfach
winx
an der Bash-Eingabeaufforderung ein, und dort wird ein Win Explorer angezeigt.Hinweis: Wenn winx Sie zu Ihrem Dokumentenordner weiterleitet, versuchen Sie es
quelle
winx
Alias funktionierte bei meinem Cygwin-Setup nicht. Ich musste die beiden Schrägstriche entfernen und ersetzen.
mit$PWD
für sie zu arbeiten.alias winx='/cygdrive/c/Windows/explorer.exe /e,$(cygpath -wa .)'
cygstart .
Explorer mit dem aktuellen Ordner zu öffnen, oder einen beliebigen Ordner Syntaxcygstart ..
,cygstart /your/path
etc ...C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico C:\cygwin\bin\bash.exe -l -c "cd \"$0\" ; exec bash
Dateihandle bleibt im$0
Verzeichnis geöffnet , auch nachdem Sie das Arbeitsverzeichnis in ein anderes geändert haben. Was noch schlimmer istALT+F2
, wenn eine Kopie des Fensters ( ) erzeugt wird, selbst wenn Sie das Arbeitsverzeichnis bereits geändert haben, wird ein anderes Dateihandle für geöffnet$0
. Dies kann einige Vorgänge beeinträchtigen, die$0
in einem beliebigen Prozess gelöscht / geändert werden sollen. Wenn beim Zugriff die Fehlermeldung "Berechtigung verweigert" angezeigt wird, ist$0
dies möglicherweise die UrsacheFühren Sie auf dem Cygwin-Terminal den folgenden Befehl aus:
echo "cd your_path" >> ~/.bashrc
Das .bashrc-Skript wird ausgeführt, wenn Sie eine neue Bash-Sitzung öffnen. Der obige Code ändert sich in das Verzeichnis your_path, wenn Sie eine neue Cygwin-Sitzung öffnen.
quelle
>
Zeichen wegzulassen. Dann habe ich mich abgemeldet :-)Ich habe eine .reg-Datei erstellt, die eine Option "Open Cygwin Here" in das Kontextmenü mit der rechten Maustaste einfügt. Dies hängt vom Cygwin-Paket "chere" ab, das Sie mit apt-cyg installieren können, wenn Sie es bei der Ersteinrichtung nicht installiert haben.
quelle
apt-cyg
, ich wusste nichts über dieses ToolFür cygwin64 oder Installationen ohne chere können Sie den folgenden Befehl in einem Registrierungseintrag verwenden (vorausgesetzt, Windows aufgrund Ihres Pfads, vorausgesetzt, das cygwin-Installationsverzeichnis ist c: \ cygwin64).
Funktioniert unter Windows 7 und 8 Registrierungsdatei, die hier heruntergeladen werden kann: http://tomkay.me/blog/Cygwin64---Open-Here-18
quelle
cygpath \"%V\"
\ ";'"Wenn Sie dieses Verzeichnis als Standard verwenden möchten, fügen Sie
cd
Ihrer~/.profile
Datei einfach eine Anweisung hinzu .Ich benutze diese Methode, um mein übliches Verzeichnis festzulegen und Aliase für meine häufigsten Fälle zu definieren:
oder Ihr Äquivalent. Dadurch kann ich sehr schnell Verzeichnisse wechseln.
quelle
~/.profile
Datei hinzugefügt oder nur einmal ausgeführt werden?~/.profile
eine Möglichkeit ist).bash
Manpage vorhanden ist, wenn Sie tief genug graben). Deshalb habe ich.profile
als eine Möglichkeit angegeben.Ich benutze und Icon, um meinen Cygwin ohne das
chere
Paket zu starten .C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
C:\some\dir\name\here
quelle
-c
in "Ziel" macht keinen Unterschied, solange Sie in "Start In" einen Pfad angeben. 2. Diese Lösung verursacht ein Problem mitPATH
. cygwin kann/usr/local/bin:/usr/bin
im Systempfad nicht vorangestellt werden, sodass einige seiner Binärdateien nicht aufgerufen werden können. Die Konfiguration befindet sich wahrscheinlich in/etc/profile
>> `if [$ {CYGWIN_NOWINPATH-addwinpath} =" addwinpath "]; dann `Wie two7s_clash sagte, müssen Sie zuerst das
chere
Paket installieren und mintty einrichten:apt-cyg install chere
chere -i -t mintty
Sie können Cygwin jetzt in einem bestimmten Verzeichnis mit einem Rechtsklick im Windows Explorer (Kontextmenü) öffnen und "Bash Prompt Here" auswählen.
Sie können cygwin auch über die Windows-Eingabeaufforderung aus einem bestimmten Verzeichnis öffnen:
cd
) zum benutzerdefinierten VerzeichnisAusführen
C:\cygwin64\bin\mintty.exe C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l
Dieser Befehl öffnet cygwin mit dem aktuellen Verzeichnis an der Eingabeaufforderung.
FreeCommander
Dieser Befehl kann auch verwendet werden, um cygwin über einen benutzerdefinierten Dateimanager wie FreeCommander zu öffnen.
Gehen Sie wie folgt vor, um cygwin mit dem aktuellen Verzeichnis von FreeCommander zu öffnen:
Fügen Sie eine neue Symbolleiste (+ Symbol) hinzu, Verknüpfung: Einfügen
C:\cygwin64\bin\mintty.exe
%ActivDir%
C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l
Sie können eine benutzerdefinierte Verknüpfung zum Öffnen von Cygwin in FreeCommander hinzufügen:
Gute Referenz: MinTTY Wiki, Artikel Tipps: Starten in einem bestimmten Verzeichnis
quelle
Versuchen Sie Folgendes, um eine Windows-Verknüpfung zu erstellen, mit der ein Cygwin-Terminal in einem Verzeichnis Ihrer Wahl gestartet wird:
Klicken Sie mit der rechten Maustaste auf den Windows-Desktop, wählen Sie "Neu" und dann "Verknüpfung".
Geben Sie für den Speicherort des Elements den folgenden Text ein, ändern Sie den
mintty
Pfad nach Bedarf und ersetzen Sie den Namen des gewünschten Verzeichnisses an der angegebenen Stelle.Das OP würde beispielsweise den folgenden Text verwenden:
Weiter klicken'.
Geben Sie den gewünschten Namen für die Verknüpfung ein und klicken Sie auf "Fertig stellen".
Auf dem Desktop können mehrere Verknüpfungen platziert werden, um Cygwin-Terminals in verschiedenen Verzeichnissen zu öffnen, auf die häufig zugegriffen wird.
Inspiriert von der Lösung unter Öffnen einer Cygwin-Shell in einem bestimmten Verzeichnis von Netbeans aus. bei superuser.com .
quelle
Suchen Sie die Datei Cygwin.bat und erstellen Sie Inhalte wie folgt:
Fügen Sie den Pfad zu cygwin.bat zum Umgebungspfad hinzu.
Jetzt können Sie in jedem Ordner Folgendes eingeben:
Sie können es auch eingeben, wenn Sie in cmd.exe
quelle
Ich habe die folgenden Codezeilen verwendet, um zsh im aktuellen Verzeichnis in Win7 zu starten.
Beachten Sie, dass ich% V anstelle von% L oder% 1 verwendet habe (da beide bei mir nicht funktionierten).
quelle
Wenn eine Neuinstallation erforderlich ist, erstelle ich eine Windows- "Benutzerumgebungsvariable" mit dem Namen
HOME
und weist ihr den Pfad zu, wo sich "Eigene Dateien" befinden.Das Cygwin-Installationsprogramm erkennt die
HOME
Variable, übersetzt sie automatisch in einen Cygpath und wählt sie als mein ~ -Verzeichnis aus.Dies hat für jede Workstation, die ich in den letzten 5 Jahren professionell genutzt habe, gut funktioniert (ca. 3 oder 4, Win7). Ich war schon immer der einzige Benutzer auf diesen Maschinen, kann nicht sagen, was der Effekt ist.
quelle
Ich habe ein Registrierungsbearbeitungsskript erstellt, um Cygwin in jedem Ordner zu öffnen, auf den Sie mit der rechten Maustaste klicken. Es ist auf meinem GitHub.
Hier ist mein GitHub
Beispielcode
RegEdit
von Github für 64-Bit-Computer:quelle
Öffnen Sie das Cygwin-Terminal als Administrator
In Powershell (mit Schokolade):
Klicken Sie in cygwin Will Install mit der rechten Maustaste auf das Menü
Jetzt können Sie mit der rechten Maustaste klicken und "Bash Prompt Here" in einem beliebigen Ordner verwenden.
quelle
Sie können das Symbol zur Shell hinzufügen, indem Sie
Icon
dem Pfad zu IhrerCygwin.ico
Datei ein Feld hinzufügen .quelle
Auf meinem Windows-Computer dauerte es nicht:
chere -i -t mintty
Da Mintty Shell nicht verfügbar war, haben Sie möglicherweise die Wahl zwischen verschiedenen anderen Shells wie Ash Bash Cmd Dash Mksh Pdksh Posh Tcsh Zsh Passwd.
Also habe ich verwendet:
chere -i -s bash
quelle
Sie können einfach das Cygwin-Terminal öffnen und schreiben: cd und nach Drag & Drop den Ordner, den Sie beenden möchten, eingeben!
quelle
In der Antwort, die die Registrierung verwendet, habe ich festgestellt, dass Sie unter Windows 2008 R2 SP1 den Hintergrund aus dem Pfad entfernen müssen. Da chere und xhere nicht Teil von cygwin64 sind, ist hier eine Lösung, die für beide funktioniert und die Registry- und die Send To-Lösung kombiniert. Ersetzen Sie 'E: \ cygwin64' durch Ihren Installationsort:
quelle
Dies ist die einzige Cygwin64-Registrierungslösung, die in Windows 8.1 für mich funktioniert hat:
Stellen Sie sicher, dass Sie den Pfad 'C: \ cygwin64' nach Bedarf ändern.
quelle
Ich habe die Batch-Datei erstellt und in das Verzeichnis / bin von Cygwin gestellt. Dieses Skript wurde entwickelt, um die Registrierungseinträge zum Öffnen ausgewählter Ordner und Laufwerke in Cygwin zu installieren / deinstallieren. Weitere Informationen finden Sie unter dem Link http://with-love-from-siberia.blogspot.com/2013/12/cygwin-here.html .
Update: Diese Lösung funktioniert genauso wie frühere Vorschläge, aber alle Manipulationen mit der Windows-Registrierung sind im Skript verborgen.
Führen Sie den zu installierenden Befehl aus
Führen Sie den Befehl zum Deinstallieren aus
quelle
Ich hatte auch ein Problem mit git, das meine Cygwin-Befehle "stahl" - also musste ich es ausführen,
C:\cygwin\bin\mintty.exe -
aber nach der Installation
chere
und Ausführungchere -i -t mintty -f
als Administrator (siehe oben) können Sie einfach Folgendes verwenden:C:\cygwin\bin\mintty.exe -e /bin/xhere /bin/bash.exe "."
Ich habe dies in Total Commander als benutzerdefinierte Schaltfläche hinzugefügt (rechts) Klicken Sie auf Panel> Hinzufügen ...) und es funktioniert sehr gut.
quelle
Erstellen Sie eine Bash-Datei
move.sh
mit dem folgenden Code.C:\cygwin64\bin\run.exe -p /bin bash runFile.sh
Dadurch wird Cygwin gestartet und dasrunFile.sh
vorhandene Verzeichnis im bin-Verzeichnis von Cygwin ausgeführt. Angenommen, Sie möchten zu einem bestimmten Verzeichnis navigieren, z. B.E:\code
runFile.sh hat den folgenden Codecd E: cd code
quelle
Endlich eine Antwort, die unabhängig von Cygwin selbst ist.
Dies nutzt die Tatsache , dass, wenn ich auf das Verzeichnis bin ,
C:\\Cool
und ich rufe den BefehlC:\\Cygwin\\bin\\mintty.exe
,mintty
öffnet sich automatisch auf dem aktuellen Verzeichnis, das heißtC:\\Cool
.Zunächst müssen Sie die Datei
C:\\Cygwin\\silent_run.vbs
mit den folgenden Inhalten erstellen :Als Nächstes verwenden Sie zur Installation dieser Antwort eine Windows-Registrierungsdatei. Fügen Sie dazu einfach den Inhalt der folgenden Datei in eine Datei mit dem Namen ein
C:\\Cygwin\\AddMinttyToContextMenu.reg
Korrigieren Sie nun alle fest codierten Pfade, dh
C:\\Cygwin
an dem tatsächlichen Speicherort, an dem sich Ihre Cygwin-Installation befindet.Öffnen Sie dann einfach die Datei
C:\\Cygwin\\AddMinttyToContextMenu.reg
, um Ihre neuen Registrierungseinträge zu installieren, und Sie sind fertig.Die Datei
C:\\Cygwin\\AddMinttyToContextMenu.reg
öffnet zunächst acmd.exe
, wechselt in das Verzeichnis, in dem Sie sich befinden, und ruft dannC:\\Cygwin\\silent_run.vbs
auf, um dasC:\\Cygwin\\bin\\mintty.exe
Terminal mit den Befehlszeilenoptionen zu öffnen-w max
zu öffnen, dh um es maximiert zu öffnen.Das Skript
C:\\Cygwin\\silent_run.vbs
ist erforderlich, um dasC:\\Cygwin\\bin\\mintty.exe
Terminal zu öffnen, ohne dass das erste, dascmd.exe
wir geöffnet haben, geöffnet bleibt .Der erste Eintrag von
C:\\Cygwin\\AddMinttyToContextMenu.reg
wird nicht verwendet,C:\\Cygwin\\silent_run.vbs
da dieHKEY_CLASSES_ROOT\Directory\Background\shell
Schlüssel standardmäßig bereits im aktuellen Verzeichnis geöffnet sind. Dann können wir einfach aufrufenC:\\Cygwin\\bin\\mintty.exe
direkt , damit es sofort funktioniert.Verweise:
quelle
Kopieren Sie die obigen Befehle in eine Textdatei und speichern Sie sie als .bat in einem beliebigen "Ordner von Interesse". Es sollte cygwin in "Ihrem Ordner von Interesse" öffnen.
quelle
Basierend auf der @ LindseyD-Antwort habe ich eine einfache BAT-Datei erstellt, die Cygwin im aktuellen Verzeichnis öffnet. Dies kann nützlich sein (für mich ist es das). Angenommen, Sie haben das bin-Verzeichnis von cygwin in PATH.
quelle
Ich weiß nicht, warum ich so viel Zeit verschwenden musste, aber das funktioniert bei Gewinn 10, 64 Bit für mich:
quelle
Wahrscheinlich die einfachste:
1) Erstellen Sie die Datei foo.reg
2) Inhalt einfügen:
3) Führen Sie foo.reg aus
Klicken
open mintty
Sie jetzt einfach mit der rechten Maustaste in einen beliebigen Ordner, und es wird Minze in diesem Ordner erzeugt.quelle
Am besten wie unten:
quelle