概要
最近使っているOSSのgradleビルドが10分以上かかるので、ビルドコマンドの完了時に通知音を鳴らしたい。
要求機能
- Macローカルでtmuxを立ち上げた状態で動く
- Macローカルでtmuxを立ち上げ、sshでlinuxサーバに潜った先でさらにtmuxを立ち上げた状態でも動く
- 追加コマンドの呼び出しは出来る限り簡略化したい
実現方法
調べてみると、ターミナルコマンドの完了時にサウンドを鳴らす という記事を見つけた。
この記事のとおり、tput bel
というコマンドで音が出るので、$ gradle build; tput bel
とすると、やりたいことはほぼできた。
しかし; tput bel
と打つのが少々長いので、簡略化したい。
そこでzshのグローバルエイリアスの機能を使って、.zshrcに以下の設定を追加する。
alias -g F=";tput bel"
この設定をしておくと、$ gradle build F
で同様のことが実現できる。
時間のかかるコマンドを実行するときは末尾にFをつけるだけで通知音が鳴らせるようになった!
補足
- tmuxやzshの設定でbeep音を切る設定をいれている場合は音が鳴らないので注意。
-
$ tput bel
の他に$ echo -e '\a'
でも同様の音が出せる。 - Macでビルドコマンドを叩く場合はsayコマンドで
$ say ビルドが終わりました
とするとよりわかりやすい。