➡️

Bourne shellスクリプト中でcurlにbodyを渡すときはヒアドキュメントを使うと見通しが良い

2022/02/07に公開

タイトル通りの小ネタです。ほぼ個人的な備忘録です。常識だったらすみません。

Web APIの挙動を cURL を使ってサンプルで示す場合が結構あるかと思いますが、POSTメソッドなどでBodyを取る場合にどうやって表記すると見た目がわかりやすいかと迷っていましたが、ヒアドキュメントを使って書くと比較的見通しが良さそうです。

curl --request POST --header "$SOME_HEADER" -d@- $URL <<EOM
{
   "some_field": "value",
   "other_field": "$OTHER_FIELD"
}
EOM

ポイント

  • -d@-: このオプションを付けると標準入力からBODYを取得する。
  • ヒアドキュメントの形式で書くと:
    • 変数展開が可能。
    • エスケープをあまりしなくてすむ。

Discussion