我正在使用git,然后将提交消息和其他信息作为JSON负载发布到服务器。
目前我有:
目前我有:
MSG=`git log -n 1 --format=oneline | grep -o ' .\+'`
这会将 MSG 设置为类似以下内容的东西:
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所需的字符?我不熟悉该语言,因此不确定从哪里开始。至少将'
替换为\'
应该可以解决问题。