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

Bash脚本exit 1前echo语句未执行?GitHub Actions脚本需求咨询

问题解决:Bash脚本exit 1前echo未执行及需求适配

问题分析

你遇到的echo未执行,大概率是以下原因:

  • GRADE变量未定义、为空或非数字,导致[ $GRADE -lt 7 ]触发语法错误,若脚本开启了set -e会直接退出;未开启的话也会因判断命令返回非0,错误进入else分支,跳过exit1前的echo。
  • $GITHUB_OUTPUT路径未加引号,若路径含空格或特殊字符,会导致重定向失败。

修正后的脚本

# 先验证GRADE是否为有效正整数
if ! [[ "$GRADE" =~ ^[0-9]+$ ]]; then
  echo "rating=invalid" >> "$GITHUB_OUTPUT"
  exit 1
fi

# 按需求判断等级
if [ "$GRADE" -lt 7 ]; then
  echo "rating=failure" >> "$GITHUB_OUTPUT"
  exit 1
else
  echo "rating=success" >> "$GITHUB_OUTPUT"
  exit 0
fi

关键优化点

  • 给所有变量引用加双引号:避免空值、特殊字符引发的语法错误或路径解析问题。
  • 增加变量有效性校验:提前拦截非数字输入,避免后续判断出错,同时输出明确的invalid状态。
  • 严格遵循需求:小于7时输出failure并返回1触发GitHub Action失败,否则输出success并正常退出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:43:23