Linuxパソコン・サーバーのコマンドラインやWSLにおいて、Bashコマンドが終了したらtelegram経由でデスクトップに通知する方法について紹介します。
バッググラウンドでコマンド実行して終了したらデスクトップにポップアップ通知してほしいなと思っていて、僕は普段Windowsの通知 – chromeとかその他アプリから来る一般的な通知 – は全部オフにしているので、telegramを通して通知をさせたいと思います。
telegramを通さないで通知をする場合は、powershellかJavaかC#あたりでバルーン通知の方法をググって頂ければ早いかと思います。
push(){
command="$@"
eval " ${command} ; errorCode=\$? " ; telegram-sendMessage "Command finished: ${command} / ErrorCode: ${errorCode}" >&/dev/null
}
Telegram APIでUbuntu BashからcurlコマンドでTelegramにメッセージを送信する
telegram-sendMessage(){
curl -s -X POST "https://api.telegram.org/${TELEGRAM_API_KEY}/sendMessage" -d chat_id=638365737 -d text="${1:-Hello World}"
}
使用例
push sleep 3 ; echo hoge
push "sleep 3 ; echo hoge"
push sleep 3 &
push undefinedfunc