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

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

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

Git Bash使用cmd.exe作为它的terminal加上由sh.exe提供的MSYS / MinGW扩展,这是一种cmd.exe包装。 在Windows中,使用start命令启动一个新的terminal。

因此,一个用特定的工作目录启动一个新的Git Bashterminal的shell脚本是:

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

一个等效的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 

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

另一个选项是创build具有以下属性的快捷方式:

在这里输入图像说明

目标应该是:

“%SYSTEMDRIVE%\ Program Files(x86)\ Git \ bin \ sh.exe”–login

开始是你希望你的Git Bash提示符启动的文件夹。

试试–cd =选项。 假设你的GIT Bash驻留在C:\ Program Files \ Git中,它将是:

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

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

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

让我们来看看@Drew Noakes的答案:

目标:

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

cd参数应该是如何指定工作目录的选项之一。

另外请注意,我没有任何--login参数,而是使用另一个额外的应用程序,专用于SSH密钥: Pageant(PuTTY身份validation代理)

开始于:

 C:\GitRepo 

就像@Drew Noakes早些时候提到/显示的一样,我也是这样使用它。

快捷键:

 Ctrl + Alt + B 

这种快捷方式是Windows中另一个不太知名的function。 但有一个限制:为了让快捷方式生效,它必须放置在用户的子目录中:桌面是好的。

如果您不希望它可见,但仍然可激活,请将此.lnk文件放置到快速启动文件夹中,因为该目录是针对这种快捷方式的。 (不pipe是否显示在桌面上) #76080 #3619355

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

这是可以在Run dialog box直接执行的命令(快捷键是win + R ),也可以很好地保存为.bat脚本:

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

我不熟悉Git Bash,但是假设它是一个驻留在/path/to/my/gitshell的git shell(例如git-sh ),并且你最喜欢的terminal程序叫做`myterm',你可以脚本如下:

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

请注意,用于执行的参数-e可能与您最喜欢的terminal程序命名不同。

Windows 10

这基本上是@ lengxuehx的答案,但更新为Win 10,并假设你的bash安装是从git Bash for Windows从git官方下载 。

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

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

  1. HKEY_CLASSES_ROOT\Directory\Background\shellshell键中创build一个名为Bash的新键
  2. 将string值添加到Icon (而不是新的密钥!),这是git-bash.exe的完整path,包括git-bash.exe部分。 您可能需要用引号将其封装起来。
  3. Bash的默认值编辑为要在上下文菜单中使用的文本 在这里输入图像说明
  4. 添加一个子键到Bash调用command
  5. command的默认值修改为cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit 在这里输入图像说明

然后,你应该能够closuresregistry,并开始使用Git Bash从任何地方是一个真正的目录。 例如, This PC不是一个真正的目录。

在这里输入图像说明