如何使用 echo 命令正确渲染隔断线?
how to properly render breakline with echo command?
我正在尝试使用 GitHub 操作 create-file
作为我的 GitHub 工作流程的一部分,我想创建一个文本文件,例如:
version=<version number>
released=<date>
其中 <version number>
和 <date>
是之前在我的脚本中定义的变量。
因此,我尝试了以下方法:
FILE_DATA: "version=${{steps.read_version.outputs.value}}\nreleased=${{env.TODAY}}"
但 \n
被解释为 space 而不是断行,因此生成了一个单行文件。
查看GitHub动作的源代码,好像只执行了
echo $FILE_DATA > "$FILE_NAME"
在我的例子中 $FILE_NAME"
等于 ./docs/version.properties
因此,我尝试通过使用 echo
命令而不是 GitHub 操作来直接执行我想要的操作,但无论我尝试什么,它都无法正确呈现 \n
.
非常欢迎任何建议。
这似乎是一个语法问题。
- name: Write multiline text to file
shell: bash
run: |
{
echo '$FILE_DATA'
} >> $FILE_NAME
我的工作流程文件中有同样的问题。
在 this 工作流程文件中,我还将多行文本写入文件。
编辑:
抱歉,我误解了你的问题。
只需使用 echo -e
和双引号... .
#!/bin/bash
version="1.1"
released="01-10-2022"
myString1="version=$version\nreleased=$released"
echo -e "$myString1" > test1.txt
输出:
version=1.1
released=01-10-2022
我正在尝试使用 GitHub 操作 create-file
作为我的 GitHub 工作流程的一部分,我想创建一个文本文件,例如:
version=<version number>
released=<date>
其中 <version number>
和 <date>
是之前在我的脚本中定义的变量。
因此,我尝试了以下方法:
FILE_DATA: "version=${{steps.read_version.outputs.value}}\nreleased=${{env.TODAY}}"
但 \n
被解释为 space 而不是断行,因此生成了一个单行文件。
查看GitHub动作的源代码,好像只执行了
echo $FILE_DATA > "$FILE_NAME"
在我的例子中 $FILE_NAME"
等于 ./docs/version.properties
因此,我尝试通过使用 echo
命令而不是 GitHub 操作来直接执行我想要的操作,但无论我尝试什么,它都无法正确呈现 \n
.
非常欢迎任何建议。
这似乎是一个语法问题。
- name: Write multiline text to file
shell: bash
run: |
{
echo '$FILE_DATA'
} >> $FILE_NAME
我的工作流程文件中有同样的问题。 在 this 工作流程文件中,我还将多行文本写入文件。
编辑:
抱歉,我误解了你的问题。
只需使用 echo -e
和双引号... .
#!/bin/bash
version="1.1"
released="01-10-2022"
myString1="version=$version\nreleased=$released"
echo -e "$myString1" > test1.txt
输出:
version=1.1
released=01-10-2022