Wie kann ich ein neues Git Bash-Fenster mit einem bestimmten Arbeitsverzeichnis mithilfe eines Skripts (entweder Bash- oder Windows-Batch) starten?
Mein Ziel ist es, mehrere Git Bash-Fenster von einem einzigen Skript aus zu starten, die jeweils in einem anderen Arbeitsverzeichnis gespeichert sind. Auf diese Weise kann ich nach dem Booten des Computers schnell zur Arbeit gehen, anstatt Git Bash-Fenster öffnen und jedes zum richtigen Arbeitsverzeichnis navigieren zu müssen.
Ich frage nicht, wie man das Standardarbeitsverzeichnis ändert, wie diese Frage , sondern ein oder mehrere Terminalfenster mit verschiedenen Arbeitsverzeichnissen über ein Skript zu starten.
bash
shell
batch-file
git-bash
Holocronweber
quelle
quelle
Antworten:
Eine weitere Option besteht darin, eine Verknüpfung mit den folgenden Eigenschaften zu erstellen:
Ziel sollte sein:
Start in ist der Ordner, in den Ihre Git Bash-Eingabeaufforderung gestartet werden soll.
quelle
Start in
etwas mit dem Arbeitsverzeichnis zu tun hat, in dem sich ein Programm befindet.Git Bash verwendet
cmd.exe
für sein Terminal plus Erweiterungen von MSYS / MinGW, die vonsh.exe
einer Artcmd.exe
Wrapper bereitgestellt werden . In Windows starten Sie mit demstart
Befehl ein neues Terminal .Ein Shell-Skript, das ein neues Git Bash-Terminal mit einem bestimmten Arbeitsverzeichnis startet, lautet also:
Ein äquivalentes Windows-Batch-Skript lautet:
Um die gleiche Schriftart und Fenstergröße wie der über das Startmenü gestartete Git Bash zu erhalten, ist es am einfachsten, die Einstellungen für die Startmenüverknüpfung in die Standardeinstellungen der Befehlskonsole zu kopieren (um die Standardeinstellungen zu ändern, öffnen Sie
cmd.exe
, klicken Sie mit der linken Maustaste auf das Symbol oben links und wählen Sie Standardeinstellungen).quelle
cd
das Verzeichnis, in dem Git Bash gestartet werden soll, und das Ausführen desstart
Befehls in Ihrem Beispiel gibt mir wirklich ein Git Bash-Terminal in diesem Verzeichnis. Sind Sie sicher, dass Sie nicht irgendwo in Ihren Bash-RC-Dateien eincd $HOME
(odercd
ohne Argumente) machen? (Wie.bashrc
,.profile
...) Beachten Sie auch den Laufwerksbuchstaben. Wenn du Git Bash auf demX:
Laufwerk starten willst , danncd x:\path
wird es nicht gekürzt, du musst es tunx:
und danncd \path
vorherstart
cd x:\path
. Wird meine Lösung entsprechend bearbeiten.cmd.exe
Standardeinstellungen sind nicht die gleichen, wie Standard - Git Bash Einstellungen auf Git Bash Installation! Und Sie müssen die Unterschiede zwischen den Standardeinstellungen (Defaults
aus dem Kontextmenü) und den aktuellen (Properties
) verstehen . Also, was ich getan habe war: (1) Git Bash öffnen, auswählenProperties
(aktuelle Einstellungen), (2) es genau anpassen, was ich will (Schriftart, Fenstergröße + Position), (3) öffnencmd.exe
, auswählenDefaults
, (4 ) Kopieren-Einfügen-Einstellungen von Git Bash nachcmd.exe
. DannOK
incmd.exe
'Einstellungen,Cancel
inGit Bash
' s Einstellungen und voila!Versuchen Sie die Option --cd =. Angenommen, Ihr GIT-Bash befindet sich in C: \ Programme \ Git:
"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"
Bei Verwendung im Registrierungsschlüssel kann der Ordnerparameter mit% 1 angegeben werden:
"C:\Program Files\Git\git-bash.exe" --cd="%1"
quelle
%1
Registrierungsparameter verwenden?Lassen Sie uns noch die Antwort von @Drew Noakes addieren:
Ziel:
Der
cd
Parameter sollte eine der Optionen zum Angeben des Arbeitsverzeichnisses sein.--login
Beachten Sie auch, dass ich dort keine Parameter habe: Stattdessen verwende ich eine andere zusätzliche App, die nur für SSH-Schlüssel vorgesehen ist: Pageant (PuTTY-Authentifizierungsagent) .Startet in:
Genauso wie @Drew Noakes hier früher erwähnt / gezeigt hat, benutze ich es auch.
Tastenkürzel:
Solche Verknüpfungen sind eine weitere weniger bekannte Funktion in Windows. Es gibt jedoch eine Einschränkung: Damit die Verknüpfung wirksam wird, muss sie irgendwo im Unterverzeichnis des Benutzers platziert werden: Der Desktop ist in Ordnung.
Wenn Sie nicht möchten, dass es sichtbar und dennoch aktivierbar ist, platzieren Sie diese
.lnk
Datei, dh im Schnellstartordner, da dieses Verzeichnis für solche Verknüpfungen vorgesehen ist. (egal ob auf dem Desktop angezeigt) # 76080 # 3619355quelle
Darüber hinaus bietet Win10 die Möglichkeit, Git Bash aus Ihrem Arbeitsverzeichnis zu öffnen, indem Sie mit der rechten Maustaste auf Ihren Ordner klicken und hier GitBash auswählen.
quelle
Windows 10
Dies ist im Grunde die Antwort von @ lengxuehx, wurde jedoch für Win 10 aktualisiert und setzt voraus, dass Ihre Bash-Installation von Git Bash für Windows aus den offiziellen Downloads von git stammt .
cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
Ich habe dies letztendlich verwendet, nachdem ich meine Kontextmenüelemente für Git Bash als meinen Befehl zum Ausführen über die Registrierungseinstellungen verloren hatte. Falls Sie neugierig sind, habe ich Folgendes getan:
Bash
dershell
TasteHKEY_CLASSES_ROOT\Directory\Background\shell
Icon
(kein neuer Schlüssel!), Der den vollständigen Pfad zu Ihrer git-bash.exe enthält, einschließlich des Teils git-bash.exe. Möglicherweise müssen Sie dies in Anführungszeichen setzen.Bash
für den Text, den Sie im Kontextmenü verwenden möchtenBash
aufgerufenen Unterschlüssel hinzucommand
command
den Standardwert incmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
Dann sollten Sie in der Lage sein, die Registrierung zu schließen und Git Bash von jedem Ort aus zu verwenden, der ein echtes Verzeichnis ist. Zum Beispiel
This PC
ist kein echtes Verzeichnis.quelle
HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\command
ist"C:\Program Files\Git\git-bash.exe" "--cd=%v."
Dies ist der Befehl, der direkt in ausgeführt werden kann
Run dialog box
(Verknüpfung ist win+ R) und auch als.bat
Skript gut gespeichert funktioniert :quelle
/b
für Win 10 seinIch bin mit Git Bash nicht vertraut, aber wenn ich davon ausgehe, dass es sich um eine Git-Shell (z. B.
git-sh
) handelt, in der sich/path/to/my/gitshell
Ihr Lieblings-Terminalprogramm "myterm" befindet, können Sie Folgendes skripten:Beachten Sie, dass der Parameter
-e
für die Ausführung in Ihrem bevorzugten Terminalprogramm möglicherweise anders benannt ist.quelle
myterm
ist cmd.exe mit Ergänzungen über MSYS / MinGW. Um ein neues Cmd zu starten, verwenden Sie den Windows-spezifischenstart
Befehl, gefolgt vom Pfad zu Git Bashsh.exe
und den gewünschten Befehlszeilenoptionen. Meine Antwort gibt Details.Ich könnte eine falsche Richtung vorgeben, aber ich mag diesen Trick.
Geben Sie im Windows Explorer auf ein beliebiges Verzeichnis ein und geben Sie "cmd" in die Adressleiste ein. Daraufhin wird die Windows-Eingabeaufforderung in diesem Verzeichnis geöffnet.
Wenn Sie das Verzeichnis "Git" in Ihrem Pfad haben, können Sie auf die gleiche Weise "git-bash" in die Adressleiste eingeben. In diesem Verzeichnis wird eine Git-Shell geöffnet.
quelle