我使用 git,然后将提交消息和其他位作为 JSON 有效负载发送到服务器。
目前我有:
MSG=`git log -n 1 --format=oneline | grep -o ' .\+'`
它将味精设置为:
Calendar can't go back past today
那么
curl -i -X POST \
-H 'Accept: application/text' \
-H 'Content-type: application/json' \
-d "{'payload': {'message': '$MSG'}}" \
'https://example.com'
我真正的 JSON 还有两个字段。
这样可以很好地工作,但是当我有一个提交消息,比如上面带有一个撇号的提交消息时,JSON 是无效的。
如何转义 bash 中所需的字符?我不熟悉这门语言,所以不知道从何说起。用 \'
代替 '
至少可以完成这项工作,我怀疑。