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

GitHub Workflow执行grep无匹配时失败,如何避免步骤失败?

GitHub Workflow中grep步骤不终止的解决方案

首先纠正一个细节:正常情况下grep的返回码规则是匹配到内容返回0,未匹配到返回1,出现错误(如文件不存在)返回2,你描述的返回码情况可能写反了,但核心需求是让该步骤无论是否找到匹配内容,都不会导致整个Workflow终止,以下是两种实用解决方法:

方法1:修改命令返回码

在grep命令后追加|| true,强制整个命令执行后返回成功码0,这样步骤永远不会标记为失败:

- name: Analyze blabla
  run: grep -Ri --include \*.ts 'stringToBeSearched' ./tmp/bla > ./tmp/results.txt || true
  shell: bash

方法2:使用Workflow的continue-on-error属性

给该步骤添加continue-on-error: true配置,即使步骤返回非0码,Workflow也会继续执行后续步骤:

- name: Analyze blabla
  run: grep -Ri --include \*.ts 'stringToBeSearched' ./tmp/bla > ./tmp/results.txt
  shell: bash
  continue-on-error: true

两种方法的差异

  • 方法1会让步骤始终显示为“成功”,适合不需要关注grep实际结果的场景
  • 方法2会保留步骤的实际执行状态(失败但继续),适合后续步骤需要根据grep返回码做判断的场景

内容的提问来源于stack exchange,提问作者R. Campos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 17:35:16