$DESCRIPTION
複数の単語を指定できるため、次のように二重引用符で囲む必要があります。
curl -u "$USER:$PASS" --request POST \
--data '{"title": "'$BRANCH_NAME'", "body": "'"$DESCRIPTION"'", \
"head": "'$OWNER':'$BRANCH_NAME'", "base": "develop"}' \
https://api.github.com/repos/$OWNER/$REPO_NAME/pulls
これは自明ではない些細なことですが、この"'"$DESCRIPTION"'"
セクションには、一重引用符で囲まれた値の中に二重引用符があり--data
ます。次に、一重引用符が(一時的に)終了し、二重引用符で"$DESCRIPTION"
囲まれ、新しい一重引用符で囲まれたセクションが始まり、内部の最初の文字が二重引用符になります。
一貫性と将来性を確保するために、他の変数も同様に囲む必要があります。
curl -u "$USER:$PASS" --request POST \
--data '{"title": "'"$BRANCH_NAME"'", "body": "'"$DESCRIPTION"'", \
"head": "'"$OWNER"':'"$BRANCH_NAME"'", "base": "develop"}' \
https://api.github.com/repos/$OWNER/$REPO_NAME/pulls
すべてのシェル変数値で一重引用符と二重引用符の両方を避けるようにしてください。そのような引用について心配しなければならない場合、あなたはそれを正しくするのに悪夢を見るでしょう.