Je suis en train d'utiliser git, puis d'envoyer le message de validation et d'autres éléments sous forme de charge utile JSON à un serveur.
Actuellement, j'ai:
MSG=`git log -n 1 --format=oneline | grep -o ' .\+'`
qui définit MSG à quelque chose comme:
Le calendrier ne peut pas revenir en arrière jusqu'à aujourd'hui
puis
curl -i -X POST \
-H 'Accept: application/text' \
-H 'Content-type: application/json' \
-d "{'payload': {'message': '$MSG'}}" \
'https://example.com'
Mon vrai JSON a quelques autres champs.
Cela fonctionne bien, mais bien sûr lorsque j'ai un message de validation comme celui ci-dessus avec une apostrophe, le JSON n'est pas valide.
Comment puis-je échapper les caractères requis en bash ? Je ne suis pas familier avec le langage, donc je ne sais pas par où commencer. Remplacer '
par \'
ferait probablement l'affaire au minimum, je suppose.