shell 环境变量的替换在GitHub操作中不起作用

oknrviil  于 2023-06-24  发布在  Shell
关注(0)|答案(1)|浏览(171)

我有以下步骤

- name: create the template for mdm file
        shell: bash
        run: | 
          cat > mdm.xml.template <<EOF
          <dict>
            <key>organization</key>
            <string>myorg</string>
            <key>auth_client_id</key>
            <string>${CLIENT_ID}</string>
            <key>auth_client_secret</key>
            <string>${CLIENT_SECRET}</string>
          </dict>
          EOF

      - name: create the actual template file
        shell: bash
        env:
          CLIENT_ID: FOO
          CLIENT_SECRET: BAR
        run: |
          envsubst < mdm.xml.template > mdm.xml
          mkdir -p /var/lib/cloudflare-warp
          sudo mv mdm.xml /var/lib/cloudflare-warp/mdm.xml

      - name: cat file
        shell: bash
        run: | 
          sudo ls -al /var/lib/cloudflare-warp/
          sudo cat /var/lib/cloudflare-warp/mdm.xml

但是,当我cat文件:

<dict>
  <key>organization</key>
  <string>myorg</string>
  <key>auth_client_id</key>
  <string></string>
  <key>auth_client_secret</key>
  <string></string>
</dict>

我错过了什么?
在我的机器上执行相同的命令后,这些命令就可以在本地正常工作

export CLIENT_ID=FOO
export CLIENT_SECRET=BAR
eoigrqb6

eoigrqb61#

环境变量在使用此处文档时被替换。不需要使用envsubst,只需要在使用here文档时设置变量。或者使用<<'EOF'来防止shell替换。

相关问题