シェルスクリプトマガジン

第9回 グローバルIPアドレスを通知する

 5行目で、冒頭のコマンドを使ってグローバルIPアドレスを取得し、変数「ipaddress」に代入しています。6行目で、更新前のグローバルIPアドレスをファイル(/tmp/gobal_ipaddress)から読み込み、変数「gobal_ipaddress」に代入しています。これらのコマンド実行と変数への代入には、第1回で説明した「コマンド置換」を用いています。

 8行目の「if」文で、現在のグローバルIPアドレスと更新前のグローバルIPアドレスを比較し、一致しない場合はif文内の処理を実行します。if文については第1回を参照してください。

 9行目で、LINEに送るメッセージを作成しています。メッセージ内にipaddress変数で現在のグローバルIPアドレスを代入し、そのメッセージを変数「message」に格納しています。

 10行目がLINEにメッセージを送るコマンドです。書式は「curl -X POST -H “Authorization: Bearer アクセストークン” -F “message=メッセージ” https://notify-api.line.me/api/notify」になります。送信できたかどうかの応答メッセージが出力されるので、末尾に「> /dev/null」を付けて破棄しています。メッセージの破棄については第3回を参照してください。

 11行目で、更新前のグローバルIPアドレスを現在のグローバルIPアドレスで書き換えています。これで、次回更新されたときにシェルスクリプトが正しく動作します。