我有一个批处理文件,它通过打开一些"git bash"外壳窗口来设置我的环境。除了一个烦人的功能之外,这完全有效,如果您按 Ctrl C(或发送任何其他术语信号),整个 bash 窗口将关闭。
我希望窗口表现得好像它已经正常打开,所以当它收到术语信号时,它会回到 bash 提示符。
这是我的设置.bat文件的当前内容:
C:
cd project
start "" "%SYSTEMDRIVE%Program Files (x86)Gitbinsh.exe" --login -i -l -c "source ali.sh && mvn spring-boot:run"
cd project2
start "" "%SYSTEMDRIVE%Program Files (x86)Gitbinsh.exe" --login
请注意,第一个启动命令运行 maven,当我想重新启动命令(按 Ctrl+C)时,它会关闭整个窗口。第二个启动命令在该目录中创建一个新的 bash 窗口,即使使用 Ctrl+C 也是如此,它的工作方式也像普通的 bash 窗口一样,但我希望它在开始时运行命令。
这可能吗?非常感谢您的帮助
这样的东西可能对你有用:
C:
cd project
start "" "%SYSTEMDRIVE%Program Files (x86)Gitbinsh.exe" --login -i -l -c "sh -c 'source ali.sh && mvn spring-boot:run; exec sh'"
诀窍是将命令包装在:
sh -c '...; exec sh'
sh
是你的外壳的地方,可能是bash
.
您实际上可能只为每个命令添加后缀:exec sh
,例如:
start "" "%SYSTEMDRIVE%Program Files (x86)Gitbinsh.exe" --login -i -l -c "source ali.sh && mvn spring-boot:run; exec sh"