输出 bash 多行变量以卷曲 json
Output bash variable with multiple lines to curl json
我正在尝试创建一个脚本,它将使用 Github API 到 post 包含命令输出的注释。此输出有多行。
这是我正在尝试做的事情:
curl -H "Authorization: token oauthtoken" \
-H "Content-Type: application/json" \
-X POST -d@- \
https://api.github.com/repos/company/repo/issues/14/comments <<EOF
{
"body":"$OUTPUT"
}
EOF
如何以尊重其中包含的多行的方式输出变量?现在,当我 运行 该命令时,所有换行符都被压缩到一行。
我不认为问题的根本原因是换行,问题是 $text
的值格式不正确 json。
按照这个简单的例子:
test="
Hello
World
"
curl -X POST -d '{"body": "'"$test"'"}' http://server.com/...
查看新线路是否正常工作。
为了能够使用 json 发送任意命令的结果,您需要先对文本进行 json 编码。
我正在尝试创建一个脚本,它将使用 Github API 到 post 包含命令输出的注释。此输出有多行。
这是我正在尝试做的事情:
curl -H "Authorization: token oauthtoken" \
-H "Content-Type: application/json" \
-X POST -d@- \
https://api.github.com/repos/company/repo/issues/14/comments <<EOF
{
"body":"$OUTPUT"
}
EOF
如何以尊重其中包含的多行的方式输出变量?现在,当我 运行 该命令时,所有换行符都被压缩到一行。
我不认为问题的根本原因是换行,问题是 $text
的值格式不正确 json。
按照这个简单的例子:
test="
Hello
World
"
curl -X POST -d '{"body": "'"$test"'"}' http://server.com/...
查看新线路是否正常工作。
为了能够使用 json 发送任意命令的结果,您需要先对文本进行 json 编码。