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

时间:2013-11-11 21:51:07

标签: bash shell batch-file git-bash

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

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

编辑:我不是要问如何更改默认工作目录,如this question,而是从脚本启动一个或多个具有不同工作目录的终端窗口。

10 个答案:

答案 0 :(得分:46)

另一种选择是创建具有以下属性的快捷方式:

enter image description here

目标应为:

  

"%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)

此外,Win10还为您提供了一个从工作目录中打开git bash的选项,方法是右键单击您的文件夹,然后在此处选择GitBash。

enter image description here

答案 7 :(得分:1)

Windows 10

这基本上是@ 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的上下文菜单项作为我从命令注册表设置运行的命令后,我最终使用了这个。如果你对此感到好奇,我就这样做了:

  1. Bash
  2. shell密钥中创建名为HKEY_CLASSES_ROOT\Directory\Background\shell的新密钥
  3. 将字符串值添加到Icon(不是新密钥!),这是git-bash.exe的完整路径,包括git-bash.exe部分。您可能需要将其包装在引号中。
  4. 在上下文菜单中将Bash的默认值编辑为要使用的文本 enter image description here
  5. 向名为Bash
  6. command添加子密钥
  7. command的默认值修改为cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit enter image description here
  8. 然后你应该能够关闭注册表并从任何真正的目录开始使用Git Bash。例如,This PC不是真正的目录。

    enter image description here

答案 8 :(得分:0)

如果使用的是 Windows 操作系统

  1. 右键单击 git 终端 > 属性

Step > one

  1. 属性>在快捷方式选项卡下>开始于: 添加您的文件夹目标路径,如下图

Step > two

答案 9 :(得分:-1)

我可能会给出错误的方向,但是,我喜欢这个技巧。

使用Windows资源管理器,指向您想要的任何目录,在地址栏中键入“ cmd”,它将在该目录中打开Windows命令提示符。

如果您的路径中具有“ Git”目录,则可以通过相同的方式在地址栏中键入“ git-bash”,这样就会在该目录中打开Git Shell。