📌

Macのターミナルのコマンド完了時に自動で音を鳴らす

2025/02/18に公開

ターミナルで処理が終わったら毎回通知が欲しいですよね
以下を設定しましょう。

設定手順

  1. 利用しているシェルを以下で確認しましょう
echo $SHELL
  1. zshを使用している場合は~/.zshrcbashの場合は~/.bashrcを編集します
vi ~/.zshrc  # または ~/.bashrc
  1. ファイルに以下を追加します
function notify_on_command_completion() {
  # -v で音量を0.0〜1.0で指定(例:0.5で50%の音量)
  afplay -v 0.5 /System/Library/Sounds/Blow.aiff &

  # 実行したコマンドを通知に表示(オプション)
  osascript -e "display notification \"$1\" with title \"Command finished!\""
}

precmd_functions+=(notify_on_command_completion)
  1. 以下で反映
source ~/.zshrc
  1. lsなどで実際に音が鳴るか確認してみましょう

カスタマイズ

利用可能な音を確認する

以下のコマンドで使用可能な音の一覧を確認できます

ls /System/Library/Sounds
Basso.aiff	Frog.aiff	Hero.aiff	Pop.aiff	Submarine.aiff
Blow.aiff	Funk.aiff	Morse.aiff	Purr.aiff	Tink.aiff
Bottle.aiff	Glass.aiff	Ping.aiff	Sosumi.aiff

利用可能な音を聞いてみる(CUI)

afplay /System/Library/Sounds/Blow.aiff

利用可能な音を聞いてみる(GUI)

1. システム設定(環境設定)を開く
2. 「サウンド」を選択
3. 「サウンドエフェクト」>「通知音」のリストに表示される音を選択
4. 視聴

Discussion