You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C++编译出错时终止Bash脚本执行?

解决Bash脚本编译出错后仍执行旧程序的问题

你可以通过两种简单的方式修改脚本,确保makepp编译失败时不运行./mainHeu:

方法一:启用脚本的错误终止模式

在脚本开头加入set -e,它会让脚本在任何命令执行失败(退出状态非0)时立即终止:

set -e

makepp
./mainHeu

只要makepp编译出错返回非0退出码,脚本就会直接停止,不会执行后面的./mainHeu。

方法二:显式检查编译命令的退出状态

如果你不想全局启用错误终止,也可以单独检查makepp的执行结果:

makepp
# 检查上一个命令的退出码,非0表示失败则退出脚本
if [ $? -ne 0 ]; then
    exit 1
fi
./mainHeu

或者用更简洁的短路写法:

makepp && ./mainHeu

这种写法只有makepp成功执行(退出码为0)时,才会运行后面的./mainHeu。

补充说明

makepp作为编译工具,编译出错时会自动返回非0的退出状态码,这是绝大多数编译工具的标准行为,所以上面两种方法都能生效。

内容的提问来源于stack exchange,提问作者Samuele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 06:22:04