我正在尝试创建一个脚本,该脚本将使用 Github API 发布包含命令输出的评论。此输出有多行。
这是我想要做的:
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 编码。
关于json - 输出多行 bash 变量以 curl json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30712771/