Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Github操作:将环境变量设置为格式化的命令输出_Javascript_Github_Environment Variables_Github Actions - Fatal编程技术网

Javascript Github操作:将环境变量设置为格式化的命令输出

Javascript Github操作:将环境变量设置为格式化的命令输出,javascript,github,environment-variables,github-actions,Javascript,Github,Environment Variables,Github Actions,我正试图用命令行程序的帮助文本和Github操作更新我的自述文件。我有一个脚本main.js,它生成以下输出: >> node main.js -h Generate README from template Main options -i, --input-file-name string -o, --output-file-name string -k, --keys string[] -v, --values string[] -h, --help 现

我正试图用命令行程序的帮助文本和Github操作更新我的自述文件。我有一个脚本main.js,它生成以下输出:

>> node main.js -h
Generate README from template

Main options

  -i, --input-file-name string
  -o, --output-file-name string
  -k, --keys string[]
  -v, --values string[]
  -h, --help
现在,我试图在Github操作中设置一个环境变量,但打印出来时,却丢失了换行符。以下是my.github/workflows/main.yml:

名称:测试操作
on:[推]
工作:
测试:
运行于:ubuntu最新版本
步骤:
-姓名:结帐
用途:行动/checkout@v2
-名称:安装节点
用途:操作/设置-node@v1
与:
节点版本:12.x
-名称:获取帮助文本
运行:|
echo::set env name=HELP\u TEXT::$(node main.js-h)
-名称:打印帮助_文本
运行:|
回显“$HELP_TEXT”
-名称:REGENATE README.md
用途:/
与:
关键:帮助
值:${env.HELP_TEXT}
“打印帮助_文本”步骤产生以下输出(注意换行符丢失):

请注意,
测试
作业的最后一步是运行更新自述文件内容的代码;它看到的输入与“打印帮助文本”步骤的输出相同


是否有某种方法可以存储环境变量以保留格式?

在尝试将文件内容用作发布正文时遇到类似问题,解决方法如下:

-运行:|
正文=$(cat NEWS.md)
body=“${body/'%'/'%25'}”
body=“${body/$'\n'/'%0A'}”
body=“${body/$'\r'/'%0D'}”
echo:::set env name=MOD_RELEASE_BODY::$BODY”
shell:bash

Bash magick将确保换行符正确存储,使env变量可用作操作参数。

如果您双引号引用命令替换,
“$(node main.js-h)”
?不引用它会导致分词,这会将换行符替换为空格。我尝试过这样做,但最终没有将命令结果存储在
HELP\u TEXT
变量中。
Generate README from template Main options -i, --input-file-name string -o, --output-file-name string -k, --keys string[] -v, --values string[] -h, --help