4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

shellscript内で変数を使いまわすための記載方法

Last updated at Posted at 2020-04-26

はじめに

社内でRocket.Chatを使用しているが、ubuntuサーバーのcron処理の結果をチャットボットとして通知させたい。
Webhookの仕組みでRocket.Chatからcurlコマンドが発行されるが、cronで実行したシェル内で作成した変数をcurlコマンドでチャットに送信する方法につまづいたので、解決方法を残す

ゴール

curlコマンドで変数を受け取り、状況により違う結果を出せるようにする

curlの形

まずはRocket.ChatにWebhookで発行した基本のcurlコマンドを確認する

curl -X POST -H 'Content-Type: application/json' --data '{"text":"Example message","attachments":[{"title":"Rocket.Chat","title_link":"https://rocket.chat","text":"Rocket.Chat, the best open source chat","image_url":"https://rocket.chat/images/mockup.png","color":"#764FA5"}]}' https://〜〜

テキストのみ飛ばす

プレーンテキストのみ飛ばしたい場合は以下のように記述する

curl -X POST -H 'Content-Type: application/json' --data '{"text":"hogehoge"}' https://〜〜

変数を使う

変数を使う場合は以下のよう

結論は
['"+"']
で囲む

curl -X POST -H 'Content-Type: application/json' --data '{"text":"'"$fuga"'"}' https://〜〜

テキスト+変数

固定文と変数を使いたい場合

curl -X POST -H 'Content-Type: application/json' --data '{"text":"hogehoge'"$fuga"'"}' https://〜〜

こんな感じ

終わりに

見た目としては違和感が強いがこれで使えるようになる
いつか使う時があれば参考にしてください

最初はこの方法はcurlで変数を使用するときだけだと思っていたが、
実際はshellscriptを書くときなどに変数を使いまわしたいときに使う方法だったよう

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?