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

如何在CMake构建失败时让Shell脚本自动退出?

实现CMake构建失败时自动退出Shell脚本的方法

有两种简单的方式可以实现这个需求,根据你的场景选择即可:

方法一:全局开启错误自动退出

在脚本开头加入set -e,这条命令会让Shell脚本在**任何命令执行失败(返回非零退出码)**时立刻终止,不再执行后续语句。CMake在构建失败时会返回非零值,刚好适配这个逻辑。

示例脚本:

#!/bin/bash
set -e

# 配置CMake项目
cmake ..
# 执行构建操作
cmake --build .

# 下面的命令只有前面的CMake操作全部成功才会执行
echo "构建成功,开始执行后续任务..."

方法二:为单个命令绑定退出逻辑

如果不想全局启用错误退出(比如脚本里有允许失败的命令),可以给每个CMake命令单独添加失败退出的逻辑,用|| exit 1实现:

示例脚本:

#!/bin/bash

# 配置CMake,失败则直接退出脚本
cmake .. || exit 1
# 执行构建,失败则直接退出脚本
cmake --build . || exit 1

# 后续命令仅在前面操作成功时运行
echo "构建完成,继续执行后续步骤..."

说明:exit 1中的数字是退出码,你可以根据需要换成其他非零值(非零通常代表错误状态),方便后续排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:01:05