我有一个批处理文件,它通过打开一些“git bash”shell 窗口来设置我的环境。除了一个恼人的功能外,这非常有效,如果您按 Ctrl C(或发送任何其他 Term 信号),整个 bash 窗口将关闭。
我希望窗口表现得像正常打开一样,因此当它收到一个术语信号时,它会返回到 bash 提示符。
这是我的 setup.bat 文件的当前内容:
C:
cd \project\
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login -i -l -c "source ali.sh && mvn spring-boot:run"
cd \project2\
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
请注意,第一个启动命令运行 Maven,当我想重新启动该命令(按 Ctrl+C)时,它会关闭整个窗口。 第二个启动命令在该目录中创建一个新的 bash 窗口,即使使用 Ctrl+C,它也像普通的 bash 窗口一样工作,但我希望它在开始时运行一个命令。
这可能吗? 非常感谢您的帮助
最佳答案
这样的东西可能对你有用:
C:
cd \project\
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login -i -l -c "sh -c 'source ali.sh && mvn spring-boot:run; exec sh'"
诀窍是将命令包装在:
sh -c '...; exec sh'
sh
是您的 shell,可能是 bash
。
您实际上可以为每个命令添加后缀:exec sh
,例如:
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login -i -l -c "source ali.sh && mvn spring-boot:run; exec sh"
关于windows - 打开 git bash shell 窗口,执行命令并在 term 信号后保持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37774951/