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

GitHub Actions中echo输出github.event失败原因咨询

GitHub Actions打印github.event报错原因及解决方法

报错原因

直接执行echo ${{ toJSON(github.event) }}时,GitHub Actions会先将模板表达式展开为完整的JSON字符串,但bash会解析字符串中的特殊字符(如大括号{}、冒号:、空格),把它们当作shell语法的一部分处理。比如JSON里的"after": "xxx"结构,会被bash拆分后误判after::为待执行命令,从而抛出command not found错误。

另外,不使用toJSON时,github.event作为对象类型,GitHub Actions默认只会输出Object,无法展示具体内容。

解决方法

方案1:用单引号包裹输出内容

通过单引号让bash将整个JSON字符串视为整体,避免解析内部特殊字符:

- name: check context
  shell: bash
  run: echo '${{ toJSON(github.event) }}'

方案2:使用printf替代echo

printf对特殊字符的处理更稳定,能避免echo的兼容性问题:

- name: check context
  shell: bash
  run: printf '%s\n' '${{ toJSON(github.event) }}'

方案3:结合jq格式化输出(可选)

如果需要更易读的格式化JSON,可以搭配jq工具:

- name: check context
  shell: bash
  run: echo '${{ toJSON(github.event) }}' | jq .

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 12:50:23