(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【curlコマンド】シングルクォーテーションの中で変数を使う

スポンサーリンク

やりたいこと

以下の記事で利用するcurlコマンドにて

"Hello, world"

の部分を変数

"$hoge"

にしたい。

やり方

全体の囲みがシングルクオーテーションになっているので

-d '{"messages":[{"type":"text","text":"$hoge"}]}'

ダブルクォーテーションに変更して内部のダブルクォーテーションの前に\をつける。

-d "{\"messages\":[{\"type\":\"text\",\"text\":\"$hoge\"}]}"

確かにラインのBotとして展開された変数の中身で送付できました。

以下、補足です。

補足

そのままシングルクォーテーションを利用すると

$hoge

というメッセージで送られてしまうので変数として展開されるよう修正しました。

ちなみにシングルクォーテーションを外してコマンドを実行してみると以下のようなエラーになりました。

{"message":"The request body could not be parsed as JSON (line: x, column: x)"}curl: (3) [globbing] nested brace in column x

同様の事象でお困りの方の参考になれば幸いです。