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

多命令执行逻辑优化:如何实现全失败时触发command4?

优雅实现多命令全失败触发后续操作的Shell方案

要实现依次执行command1、command2、command3,且仅当三者全部执行失败(退出状态码均不为0)时才执行command4,可以通过单独记录每个命令的退出状态,再做逻辑判断的方式实现,代码清晰且符合需求:

# 依次执行命令并留存每个命令的退出状态
command1
stat1=$?
command2
stat2=$?
command3
stat3=$?

# 仅当三个命令全部失败时执行command4
if [ "$stat1" -ne 0 ] && [ "$stat2" -ne 0 ] && [ "$stat3" -ne 0 ]; then
    command4
fi

说明

  • 每个命令执行后立刻用$?获取退出状态并保存到变量,确保不会被后续命令覆盖状态值
  • 逻辑判断直接检查三个状态变量是否均不为0,语义明确,可读性强
  • 完全满足“必须依次执行所有三个命令,无论中间是否失败”的核心要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:12:34