it-swarm.com.de

Wie kann ich ein Git Bash-Fenster mit einem bestimmten Arbeitsverzeichnis mit einem Skript starten?

Wie kann ich ein neues Git Bash-Fenster mit einem angegebenen 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, wobei jedes in einem anderen Arbeitsverzeichnis gespeichert ist. Auf diese Weise kann ich nach dem Booten des Computers schnell an die Arbeit gehen, anstatt Git-Bash-Fenster öffnen und jedes zum richtigen Arbeitsverzeichnis navigieren zu müssen.

Edit: Ich frage nicht, wie man das Standardarbeitsverzeichnis ändern soll, wie diese Frage tut, sondern ein oder mehrere Terminalfenster mit unterschiedlichen Arbeitsverzeichnissen aus einem Skript heraus starten.

57
holocronweaver

Git Bash verwendet cmd.exe für sein Terminal plus Erweiterungen von MSYS/MinGW, die von sh.exe bereitgestellt werden, einer Art cmd.exe-Wrapper. In Windows starten Sie ein neues Terminal mit dem Befehl start.

Ein Shell-Skript, das ein neues Git Bash-Terminal mit einem bestimmten Arbeitsverzeichnis startet, lautet daher:

(cd C:/path/to/dir1 && start sh --login) &
(cd D:/path/to/dir2 && start sh --login) &

Ein äquivalentes Windows-Stapelskript ist:

C:
cd \path\to\dir1
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login 
D:
cd \path\to\dir2
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login 

Um die gleiche Schriftart und Fenstergröße wie das vom Startmenü aus gestartete Git Bash zu erhalten, ist es am einfachsten, die Startmenü-Verknüpfungseinstellungen in die Standardeinstellungen der Befehlskonsole zu kopieren (öffnen Sie cmd.exe, klicken Sie mit der linken Maustaste auf das Symbol oben links) und Wählen Sie Defaults).

41
holocronweaver

Eine weitere Option ist das Erstellen einer Verknüpfung mit den folgenden Eigenschaften:

 enter image description here

Target sollte sein:

"% SYSTEMDRIVE%\Programme (x86)\Git\bin\sh.exe" --login

Start in ist der Ordner, in dem Ihre Git Bash-Eingabeaufforderung gestartet werden soll.

41
Drew Noakes

Versuchen Sie es mit der Option --cd =. Angenommen, Ihr GIT Bash befindet sich in C:\Programme\Git.

"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"

Bei Verwendung innerhalb des Registrierungsschlüssels können Ordnerparameter mit% 1 angegeben werden:

"C:\Program Files\Git\git-bash.exe" --cd="%1"

30
Mike Kowalski

Lassen Sie sich noch auf die Antwort von @Drew Noakes summieren:

Ziel:

"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo

Der Parameter cd sollte eine der Optionen zum Angeben des Arbeitsverzeichnisses sein.

Beachten Sie auch, dass ich dort keinen --login param habe: Stattdessen verwende ich eine andere zusätzliche App, die nur für SSH-Schlüssel bestimmt ist: Pageant (PuTTY-Authentifizierungsagent).

Startet in:

C:\GitRepo

Der gleiche Weg, wie @Drew Noakes hier früher erwähnt/gezeigt hat, benutze ich ihn auch.

Tastenkürzel:

Ctrl + Alt + B

Solche Verknüpfungen sind eine andere, in Windows weniger bekannte Funktion. 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 ist, aber dennoch aktivierbar ist, platzieren Sie diese .lnk-Datei im Schnellstartordner, da dieses Verzeichnis für solche Verknüpfungen vorgesehen ist. (Egal ob auf dem Desktop angezeigt) # 76080# 3619355

"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
14
Franta

Dies ist der Befehl, der direkt in Run dialog box ausgeführt werden kann (Verknüpfung ist win+R) und funktioniert auch als .bat-Skript:

cmd /c (start /d "/path/to/dir" bash --login) && exit
4
lengxuehx

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 von die 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 in den Registrierungseinstellungen verloren hatte. Für den Fall, dass Sie neugierig sind, habe ich Folgendes getan:

  1. Erstellen Sie einen neuen Schlüssel mit dem Namen Bash im Schlüssel Shell unter HKEY_CLASSES_ROOT\Directory\Background\Shell.
  2. Fügen Sie Icon einen Zeichenfolgewert hinzu (kein neuer Schlüssel!). Dies ist der vollständige Pfad zu Ihrer Datei git-bash.exe, einschließlich des Teils git-bash.exe. Möglicherweise müssen Sie dies in Anführungszeichen setzen.
  3. Ändern Sie den Standardwert von Bash in den Text, den Sie im Kontextmenü verwenden möchten enter image description here
  4. Füge einen Unterschlüssel zu Bash mit dem Namen command hinzu
  5. Ändern Sie den Standardwert von command in cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exitenter image description here

Dann sollten Sie in der Lage sein, die Registrierung zu schließen und Git Bash von jedem Ort aus zu verwenden, an dem es sich um ein echtes Verzeichnis handelt. Beispielsweise ist This PC Kein echtes Verzeichnis.

enter image description here

2

Ich bin nicht mit Git Bash vertraut, gehe aber davon aus, dass es sich um eine Git-Shell (wie git-sh) handelt, die sich in /path/to/my/gitshell befindet und Ihr Lieblingsprogramm auf dem Terminal als myterm bezeichnet wird.

(cd dir1; myterm -e /path/to/my/gitshell) &
(cd dir2; myterm -e /path/to/my/gitshell) &
...

Beachten Sie, dass der Parameter -e für die Ausführung in Ihrem bevorzugten Terminalprogramm möglicherweise einen anderen Namen hat.

2
Marcus Rickert

Zusätzlich bietet Win10 eine Option zum Öffnen von Git bash aus Ihrem Arbeitsverzeichnis, indem Sie mit der rechten Maustaste auf Ihren Ordner klicken und hier GitBash auswählen.

 enter image description here

0
monkrus