我正在尝试将多行变量添加到将被放入 Markdown 文件中的定界文档中。
我的脚本如下所示:
markdown=$(cat <<-EOF
<details>
<summary>TEST</summary>
${output}
</details>
EOF
)
echo "$markdown" >> test.md
其中
output
是多行字符串:
this
is a
multiline
string
当我运行脚本时,输出如下所示:
<details>
<summary>TEST</summary>
this
is a
multiline
string
</details>
我怎样才能得到它,以便不仅仅是输出变量的第一行被正确标记?我尝试通过 sed 运行变量并添加选项卡,但这不起作用
你必须缩进它。你自己。例如,使用 sed 在每行前面添加 4 个空格:
cat <<-EOF
<details>
<summary>TEST</summary>
$(sed 's/^/ /' <<<"$output")
</details>
EOF
您可以用换行符和 4 个空格替换换行符:
cat <<-EOF
<details>
<summary>TEST</summary>
${output//$'\n'/$'\n' }
</details>
EOF