このTipsの利用シーン
※Mac前提です
- CLIでビルドしているがビルド時間が数十分かかって待ち時間がムダ。ただ、ビルドが終わったらすぐに気付きたい
- CLI上で3分、10分とかのリマインドをしたい
動作環境
macOS Big Sur(11.2.3)
AppleScriptを使えば通知できます
AppleScriptを使えばMac上で通知を表示させることができます。
また、AppleScriptを呼び出すためのosascriptが用意されているので、そちらを使えばCLI上から通知を表示させることができます。
やり方
通知用の関数を用意する
.bashrc
や .zshrc
に関数を追加します。
(ここでは.bashrcのケースで記載しています)
.bashrcを開いて、
vi ~/.bashrc
↓の関数を追記して、
~/.bashrc
function remind() { # 関数名は好きにいじってください
description="通知です" # デフォルトの文字は好きにいじってください
if [ $# != 0 ]; then
description=$1
fi
command /usr/bin/osascript -e "display notification \"$description\" with title \"Remind🔥\"" # タイトルも好きにいじってください
}
反映する
source ~/.bashrc
2022/11/11追記
こちらにある通りsound nameを設定することで通知音も付け加えることができます。
例
command /usr/bin/osascript -e "display notification \"$description\" with title \"Remind🔥\" sound name \"Blow\""
あとは呼び出すだけ
作成した関数を呼び出すだけです。
※関数名を変更した場合はこちらも適宜読み替えてください
# デフォルト通知
remind
# 任意のメッセージを表示
remind 任意のメッセージ
利用シーン
実行時間の長いシェルの完了を通知させたい時
shellの後にremindをつけるだけ
sh 実行時間の長いシェル.sh; remind Shellの実行が完了しました
カップラーメンを待ちたい時
sleepの後にremindをつけるだけ
sleep 180; remind 時間だよ
参考にさせて頂いた記事
ムダな時間を減らして頂きありがとうございます