如何使用脚本启动具有特定工作目录的Git Bash窗口?

hol*_*ver 70 bash shell batch-file git-bash

如何使用脚本(bash或Windows批处理)启动具有指定工作目录的新Git Bash窗口?

我的目标是从单个脚本启动多个Git Bash窗口,每个窗口都设置为不同的工作目录.通过这种方式,我可以在启动计算机后快速开始工作,而不必打开Git Bash窗口并将每个窗口导航到正确的工作目录.

编辑:我不是问如何更改默认工作目录,就像这个问题一样,但是从脚本启动一个或多个具有不同工作目录的终端窗口.

Dre*_*kes 50

另一种选择是使用以下属性创建快捷方式:

在此输入图像描述

目标应该是:

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

启动是您希望Git Bash提示启动的文件夹.


hol*_*ver 44

Git Bash cmd.exe用于MSYS/MinGW的终端加扩展,由sh.exe一种cmd.exe包装器提供.在Windows中,使用该start命令启动新终端.

因此,启动具有特定工作目录的新Git Bash终端的shell脚本是:

(cd C:/path/to/dir1 && start sh --login) &
(cd D:/path/to/dir2 && start sh --login) &
Run Code Online (Sandbox Code Playgroud)

等效的Windows批处理脚本是:

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 
Run Code Online (Sandbox Code Playgroud)

要获得与从开始菜单启动的Git Bash相同的字体和窗口大小,最简单的方法是将开始菜单快捷方式设置复制到命令控制台默认设置(更改默认值,打开cmd.exe,左键单击左上角图标,然后选择默认值).


小智 39

尝试使用--cd =选项.假设您的GIT Bash位于C:\ Program Files\Git中,它将是:

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

如果在注册表项中使用,则可以使用%1提供文件夹参数:

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

  • 当前的答案已经过时了,这个应该就是这个! (4认同)

Fra*_*nta 20

让我们加起来@Drew Noakes的答案:

目标:

"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo
Run Code Online (Sandbox Code Playgroud)

cdPARAM应该是如何指定工作目录中的选项之一.

还要注意,我在--login那里没有任何参数:相反,我使用另一个专用于SSH密钥的额外应用程序:Pageant(PuTTY身份验证代理).

开始于:

C:\GitRepo
Run Code Online (Sandbox Code Playgroud)

同样可能的方式,正如@Drew Noakes提到/在这里更快地显示,我也使用它.

快捷键:

Ctrl + Alt + B
Run Code Online (Sandbox Code Playgroud)

这种快捷方式是Windows中另一个鲜为人知的功能.但是有一个限制:要让快捷方式生效,它必须放在User的子目录中的某个位置:桌面很好.

如果您不希望它可见,但仍然可以激活,请将此.lnk文件放在快速启动文件夹中,因为该目录用于此类快捷方式.(无论是否显示在桌面上)#76080 #3619355

"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
Run Code Online (Sandbox Code Playgroud)


mon*_*rus 20

此外,Win10 为您提供了一个选项,可以通过右键单击您的文件夹并在此处选择 GitBash 从您的工作目录打开 git bash。

在此处输入图片说明


kay*_*eck 7

Windows 10

这基本上是 @lengxuehx 的答案,但针对 Win 10 进行了更新,并且假设您的 bash 安装来自git 官方下载的Git Bash for Windows 。

cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit

在我丢失了 Git Bash 的上下文菜单项后,我最终使用了它作为从注册表设置运行的命令。如果你对此感到好奇,我这样做了:

  1. 创建一个新的密钥,Bash称为shell密钥HKEY_CLASSES_ROOT\Directory\Background\shell
  2. 添加一个字符串值Icon(不是新键!),它是 git-bash.exe 的完整路径,包括 git-bash.exe 部分。您可能需要将其用引号引起来。
  3. 将默认值编辑Bash为要在上下文菜单中使用的文本 在此输入图像描述
  4. 添加一个子键来Bash调用command
  5. 修改command默认值为cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit 在此输入图像描述

然后您应该能够关闭注册表并从任何真实目录开始使用 Git Bash。例如,This PC不是一个真正的目录。

在此输入图像描述

  • 根据记录,注册表中 `HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\command` 中的默认 git bash 条目为 `"C:\Program Files\Git\git-bash.exe" "--cd=%v ."` (3认同)