我在Windows上使用安装了Git for Windows的ConEmu。当我尝试执行.sh脚本时,软件会启动Windows默认控制台的一个实例并在那里执行脚本。如何让ConEmu / Git for Windows在初始化命令的同一窗口中执行.sh脚本?
在干净安装ConEmu和Git for Windows之后,需要完成以下几个步骤才能使一切无缝运行。
1) 将C:\Program Files\Git\bin
添加到PATH中。Git for Windows似乎只会将C:\Program Files\Git\cmd
添加到PATH中。这样就可以运行像sh test.sh ABC
这样的命令,并且它们应该可以正常工作。
2) 为了更加方便,不必一直输入sh
,我们需要告诉Windows将.sh与sh相关联,并且正确传递参数。我们可以通过输入以下内容来实现:
assoc .sh=sh
ftype sh="C:\Program Files\Git\bin\sh.exe" "%1" %*
3) 如果参数仍然无法传递,可能是注册表问题。要解决此问题,我们按Win+r键,输入regedit
并运行注册表编辑器。可能需要进行几次修改,但其中一个应该是HKEY_CLASSES_ROOT\Applications\sh.exe\shell\open\command
。我们编辑条目以说
"C:\Program Files\Git\bin\sh.exe" "%1" %*
4) 奖励:为了使.sh文件无需在末尾写".sh"即可执行,将.SH添加到环境变量中的PATHEXT
。
这样就可以使用Git for Windows从ConEmu运行.sh文件而不必在单独的窗口中打开它们。
git/bin
或 git/usr/bin
可能会破坏 .cmd
脚本,如果该目录包含 find.exe
等文件。因此,在 ConEmu 任务命令中修改 PATH
更可取。 - Maximus