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

GitHub Actions中sed替换含特殊字符变量失败如何修复?

问题:GitHub Actions中sed替换含特殊字符的变量失败

我配置了一个GitHub Actions工作流,用于构建完成后发送邮件。流程是先创建带有占位符的HTML模板文件,再在流水线里用sed命令把占位符替换成对应的GitHub变量。

我的工作流步骤代码如下:

- name: Update HTML file values
  shell: cmd
  run: |
    set html=".\installs_repo\Projectwise ISM files\${{ env.Version }}\mart_installs_email.html"
    copy /Y ".\installs_repo\Projectwise ISM files\${{ env.Version }}\mart_installs_email.template" %html%
    sed -i "s|VAR_WORKFLOW|${{ github.workflow }}|g" %html%
    sed -i "s|VAR_REPO|${{ github.repository }}|g" %html%
    sed -i "s|VAR_RUNNER|${{ github.run_number }}|g" %html%
    sed -i "s|VAR_REF|${{ github.ref_name }}|g" %html%
    sed -i "s|VAR_COMMIT|${{ github.event.head_commit.message }}|g" %html%
    sed -i "s|VAR_COUNT|${{ env.git_commit_count }}|g" %html%
    sed -i "s|VAR_URL|${{ secrets.DAILY_BUILDS_URL }}|g" %html%
    sed -i "s|VAR_VERSION|${{ env.Version }}|g" %html%

但当变量值包含空格、换行、*这类特殊字符时,尤其是提交消息(对应占位符VAR_COMMIT),流水线会执行失败。比如提交消息开头有空格/换行、包含多行内容或者带有*符号时,都会触发失败。

我的HTML模板内容如下(VAR_开头的是占位符):

<!DOCTYPE html>
<html>
<head>
<style>
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

td, th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

tr:nth-child(even) {
  background-color: #dddddd;
}
</style>
</head>
<body>

<h2>VAR_WORKFLOW - Successful</h2>

<table>
  <tr>
    <td>GitHub Repository</td>
    <td>VAR_REPO</td>
  </tr>
  <tr>
    <td>Version</td>
    <td>VAR_VERSION</td>
  </tr>
  <tr>
    <td>Github Actions Build Number</td>
    <td>VAR_RUNNER</td>
  </tr>
  <tr>
    <td>GitHub Branch Name</td>
    <td>VAR_REF</td>
  </tr>
  <tr>
    <td>Commit Message</td>
    <td>**VAR_COMMIT**</td>
  </tr>
  <tr>
    <td>Commit Count or Build Number</td>
    <td>VAR_COUNT</td>
  </tr>
  <tr>
    <td>Daily Builds</td>
    <td><a href="VAR_URL">OneDrive Link</a></td>
  </tr>
</table>

</body>
</html>

内容的提问来源于stack exchange,提问作者Jor-El

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:30:25