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

GitHub Actions中‘run:’与‘run: |’的区别是什么?

GitHub Actions中run:单行与多行run: |的区别

1. 命令执行方式

  • 单行run::仅支持编写单条命令,该命令会在单个shell进程中执行。适合简短、无需拆分的命令,比如 run: echo "Hello World"。
  • 多行run: |:既可以编写多条独立命令,也可以将单条长命令拆分为多行显示:
    • 多条命令时,每行对应一条命令,按顺序在同一个shell进程中执行,前序命令的环境变量会被后续命令继承。
    • 拆分长命令时(如你示例中的docker build),通过行尾的反斜杠\将一条命令拆分为多行,实际仍作为单条命令执行,目的是提升长命令的可读性。

2. 可读性与维护性

  • 单行形式:写法简洁,但遇到带多个参数的长命令时,整行内容冗长,难以阅读和修改。
  • 多行形式:无论是多条命令还是拆分的长命令,都能以清晰的格式展示,便于后续维护和调整,比如你示例中把每个--build-arg参数单独占一行,一眼就能看清所有构建参数。

3. 错误处理

  • 两种形式默认逻辑一致:只要执行的命令返回非0状态码,整个Step就会标记为失败。
  • 多行形式下,如果需要忽略某条命令的错误,可以通过command || true或者临时调整shell错误处理(如set +e)来实现,单行形式则无此灵活度(因为只能写一条命令)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:24:29