如何在 Github Actions 中回显多行变量?

问题描述 投票:0回答:2

感谢 github docs,我已经存储了多行环境变量。

- name: copy
  run: |
     echo 'CONTENT_ENV<<EOF' >> $GITHUB_ENV
     cat README.md >> $GITHUB_ENV
     echo 'EOF' >> $GITHUB_ENV

我想得到它,但这段代码只给出一行:

 - name: paste
   run: echo $CONTENT_ENV > index.md

工作流程显示变量正确存储在 env 中(带空格):

variables github-actions
2个回答
6
投票

您的变量已正确存储,但如果您想保留换行符,则需要添加引号:

- name: paste
  run: echo "$CONTENT_ENV" > index.md
- name: test
  run: cat index.md

简短的解释是,默认字段分隔符是 空白(空格、制表符和换行符),因此如果不使用引号,

echo
会将所有换行符分隔的字符串视为不同的参数。请参阅这篇文章了解更深入的解释


0
投票

您可以使用这样的选项

- name: Output file
  id: read-file
  run: |
    FILE_CONTENT="$(<${FILE_NAME})"
    printf "npmrc_content<<EOF\n%s\nEOF" "${FILE_CONTENT}" >> "$GITHUB_OUTPUT"
© www.soinside.com 2019 - 2024. All rights reserved.