如何使用脚本(bash或Windows批处理)启动具有指定工作目录的新Git Bash窗口?
我的目标是从单个脚本启动多个Git Bash窗口,每个窗口都设置为不同的工作目录。这样我就可以在启动计算机后快速开始工作,而不必打开Git Bash窗口并将每个窗口导航到正确的工作目录。
编辑:我不是要问如何更改默认工作目录,如this question,而是从脚本启动一个或多个具有不同工作目录的终端窗口。
答案 0 :(得分:46)
另一种选择是创建具有以下属性的快捷方式:
目标应为:
"%SYSTEMDRIVE%\ Program Files(x86)\ Git \ bin \ sh.exe" --login
开始是您希望Git Bash提示启动的文件夹。
答案 1 :(得分: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) &
等效的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
,左 - 单击左上角的图标,然后选择默认值。
答案 2 :(得分:33)
尝试使用--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"
答案 3 :(得分:17)
让我们加起来@Drew Noakes的回答:
"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo
cd
param应该是如何指定工作目录的选项之一。
另请注意,我在那里没有--login
个参数:相反,我使用另一个专门用于SSH密钥的额外应用程序: Pageant(PuTTY身份验证代理)。
C:\GitRepo
同样可能的方式,正如@Drew Noakes提到/早在这里显示的那样,我也使用它。
Ctrl + Alt + B
此类快捷方式是Windows中另一个鲜为人知的功能。但是有一个限制:要让快捷方式生效,它必须放在User的子目录中的某个位置:桌面很好。
如果您不希望它可见,但仍然可以激活,请将此.lnk
文件放在快速启动文件夹中,因为该目录用于此类快捷方式。 (无论是否显示在桌面上)#76080 #3619355
"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
答案 4 :(得分:4)
这是可以直接在Run dialog box
中执行的命令(快捷键是 win + R ),也可以保存为{{1} } script:
.bat
答案 5 :(得分:3)
我不熟悉Git Bash,但假设它是一个位于git-sh
的git shell(例如/path/to/my/gitshell
)而你最喜欢的终端程序叫做'myterm',你可以编写以下脚本:
(cd dir1; myterm -e /path/to/my/gitshell) &
(cd dir2; myterm -e /path/to/my/gitshell) &
...
请注意,执行的参数-e
可能与您最喜欢的终端程序命名不同。
答案 6 :(得分:2)
答案 7 :(得分:1)
这基本上是@ lengxuehx的答案,但是针对Win 10进行了更新,并假设您的bash安装来自git's official downloads来自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
不是真正的目录。
答案 8 :(得分:0)
答案 9 :(得分:-1)
我可能会给出错误的方向,但是,我喜欢这个技巧。
使用Windows资源管理器,指向您想要的任何目录,在地址栏中键入“ cmd”,它将在该目录中打开Windows命令提示符。
如果您的路径中具有“ Git”目录,则可以通过相同的方式在地址栏中键入“ git-bash”,这样就会在该目录中打开Git Shell。