windows - 打开 git bash shell 窗口,执行命令并在 term 信号后保持

标签 windows git bash shell maven

我有一个批处理文件,它通过打开一些“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/

相关文章:

node.js - 使用 ngrok 在 Windows PC 上为 Slack 在本地开发时无法运行 sudo

linux - 无法推送 git 存储库

windows - 无法连接到 Win XP 64 位 XAMPP 下的本地 apache 安装。帮助!

windows - 在 Windows 上配置静态路由

java - 为什么 Gradle 在另一个 git 分支中创建文件?

bash - 如何加速Cygwin?

bash - 在 Bash 中将带空格的字符串作为函数参数传递

bash - 将文件分割成多个子文件

python - Pyinstaller .exe 在 Windows 10 和 Windows 8.1 中不工作

git - 将 Visual Studio Code 设置为 OSX 上的全局 Git 编辑器