[mac/shell] 長い処理終わったら通知する工夫(nnコマンド)

はじめに

シェルで時間がかかる処理実行してるときって、大概他の作業してると思います。 その時に、終わったよ通知を手軽にできるといいなと思い。。。nnコマンドを作る!(nnてなに?)

作業時間: 30秒

↓完成系はこんなの

$ file_download.sh && nn "ファイルダウンロード処理" "終わりましたよ"

終わったら通知するように && で後続処理として nn

実装方法

AppleScriptのosascriptで通知処理を実装して、関数作っちゃう

一番スモールなやつ

# ~/.zshrc
function nn() {
    osascript -e 'display notification "done!" with title "notification"'
}

使い方

$ nn

実装方法(完成系)

自分でメッセージ付けたり、通知時間ほしいですよね

function nn() {
    if [ $# -eq 1 ]; then
        osascript -e "display notification \"$1\n[$(date +'%Y/%m/%d %H:%M:%S')]\" with title \"💡通知\""
    elif [ $# -eq 0 ]; then
            osascript -e "display notification \"完了\n[$(date +'%Y/%m/%d %H:%M:%S')]\" with title \"💡通知\""
    else
        osascript -e "display notification \"$2\n[$(date +'%Y/%m/%d %H:%M:%S')]\" with title \"💡$1\""
    fi
}

使い方

$ nn "ファイルダウンロード処理" "終わりましたよ"

  • 引数二つは通知の [タイトル] [本文]
  • 引数一つは通知の [本文] のみ
  • 引数なしもあり

おわりに

こんなニッチな内容閲覧する人はいるのだろうか。。。

コメント

タイトルとURLをコピーしました