如何使用脚本(Bash 或 Windows 批处理)启动具有指定工作目录的新 Git Bash 窗口?
我的目标是从单个脚本启动多个 Git Bash 窗口,每个窗口设置到不同的工作目录。这样我可以在启动计算机后快速开始工作,而不必打开 Git Bash 窗口并将每个窗口导航到正确的工作目录。
我不是在问如何更改默认工作目录,就像这个问题一样,而是从脚本启动一个或多个具有不同工作目录的终端窗口。
如何使用脚本(Bash 或 Windows 批处理)启动具有指定工作目录的新 Git Bash 窗口?
我的目标是从单个脚本启动多个 Git Bash 窗口,每个窗口设置到不同的工作目录。这样我可以在启动计算机后快速开始工作,而不必打开 Git Bash 窗口并将每个窗口导航到正确的工作目录。
我不是在问如何更改默认工作目录,就像这个问题一样,而是从脚本启动一个或多个具有不同工作目录的终端窗口。
试试 --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"
Git Bashcmd.exe
用于其终端以及 MSYS/MinGW 的扩展,这些扩展由sh.exe
一种cmd.exe
包装器提供。start
在 Windows 中,您使用该命令启动一个新终端。
因此,启动具有特定工作目录的新 Git Bash 终端的 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
,左键单击左上角图标,然后选择默认值)。
让我们补充一下@Drew Noakes的答案:
"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo
cd
参数应该是如何指定工作目录的选项之一。
另请注意,我在--login
那里没有任何参数:相反,我使用了另一个专门用于 SSH 密钥的额外应用程序:Pageant (PuTTY authentication agent)。
C:\GitRepo
同样可能的方式,正如@Drew Noakes 在这里提到/显示的那样,我也使用它。
Ctrl + Alt + B
此类快捷方式是 Windows 中另一个鲜为人知的功能。但是有一个限制:要让快捷方式生效,它必须放在用户子目录的某个地方:桌面就可以了。
如果您不希望它可见,但仍可激活,请将这个.lnk
文件,即放入快速启动文件夹,因为该目录用于此类快捷方式。(无论是否显示在桌面上)#76080 #3619355
"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
这基本上是@lengxuehx 的答案,但已针对 Win 10 进行了更新,并且假定您的 bash 安装来自git 官方下载的Git Bash for Windows 。
cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
在我丢失了 Git Bash 的上下文菜单项作为从注册表设置运行的命令后,我最终使用了它。如果您对此感到好奇,我这样做了:
Bash
,在shell
密钥中调用HKEY_CLASSES_ROOT\Directory\Background\shell
Icon
(不是新键!),这是 git-bash.exe 的完整路径,包括 git-bash.exe 部分。您可能需要用引号括起来。Bash
要在上下文菜单中使用的文本
Bash
为被叫添加子键command
command
将 的默认值修改为cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
然后,您应该能够关闭注册表并从任何真实目录开始使用 Git Bash。例如,This PC
不是一个真正的目录。
这是可以直接在Run dialog box
(快捷键是win+ R)中执行的命令,也可以很好地保存为.bat
脚本:
cmd /c (start /d "/path/to/dir" bash --login) && exit
我不熟悉 Git Bash,但假设它是一个 git shell(例如git-sh
),/path/to/my/gitshell
并且您最喜欢的终端程序称为“myterm”,您可以编写以下脚本:
(cd dir1; myterm -e /path/to/my/gitshell) &
(cd dir2; myterm -e /path/to/my/gitshell) &
...
请注意,-e
执行参数的名称可能与您喜欢的终端程序不同。
使用 Windows 资源管理器,导航到您想要的任何目录,在地址栏中键入“cmd”,它将在该目录中打开 Windows 命令提示符。
同样,如果您git
的路径中有目录,您可以在地址栏中键入“git-bash”,Git Shell 将在该目录中打开。