1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ターミナル】【Mac】で処理が終わった際に通知を表示したい!

Last updated at Posted at 2025-06-01

はじめに

私はMacを使用しているのですが、Dockerで環境構築をする時や、npm ciなど少し時間のかかる処理をターミナルで行うことありますよね?
ついつい画面と睨めっこしてしまったり、他の作業をしていても「あの処理もう終わったかな?」と気になって何度も処理が終わっていないかターミナルを確認してしまうことがよくあります。

そこで、処理の完了時に通知を表示&音を鳴らしたいと思い調べてみることにしました。

結論

.zshrcにmynotifyという関数を作成して、実行したいコマンドの頭にmynotifyを付けて実行する。

.zshrc
function mynotify() {
  "$@" && (
    osascript -e 'display notification "✅ 成功:'"$*"'" with title "実行結果" subtitle "成功"' && afplay /System/Library/Sounds/Glass.aiff
  ) || (
    osascript -e 'display notification "❌ 失敗:'"$*"'" with title "実行結果" subtitle "エラー"' && afplay /System/Library/Sounds/Basso.aiff
  )
}

使用例

mynotify echo "これは成功です"

実行結果

スクリーンショット 2025-06-01 11.18.53.png

使用例

mynotify false

実行結果
スクリーンショット 2025-06-01 11.19.22.png

うまくいかない場合

システム設定でスクリプトエディタの通知がOFFになっているor集中モードがONになっている可能性が高いです。
筆者はシステム設定→通知→アプリケーションの通知の欄にスクリプトエディタがそもそも表示されておりませんでした。
スクリーンショット 2025-06-01 11.22.49.png
スクリーンショット 2025-06-01 11.22.59.png

筆者の場合は、一度スクリプトエディタを一度実行したら、システム設定の通知欄「スクリプトエディタ」が現れましたので一度お試しください。

display notification "通知が出ました! " with title "テスト通知" subtitle "サブタイトル"

スクリーンショット 2025-06-01 11.33.27.png

参考

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?