SSブログ

MacOSのシェルスクリプトで通知を表示する方法 [技術]

Macで時間がかかるシェルスクリプトが終了した時に通知を表示して音も鳴らすには、osascriptコマンドが利用できる。
osascript -e 'display notification "18ファイルをダウンロードしました。" with title "download.sh" sound name "Glass"'
このようなコマンドをスクリプトの最後で実行すると、完了時に画面右上に次のような通知が表示される。
notification.png
最後のGlassは/System/Library/Sounds/ディレクトリにあるファイルを指定する。
% ls /System/Library/Sounds/
Basso.aiff	Bottle.aiff	Funk.aiff	Hero.aiff	Ping.aiff	Purr.aiff	Submarine.aiff
Blow.aiff	Frog.aiff	Glass.aiff	Morse.aiff	Pop.aiff	Sosumi.aiff	Tink.aiff

Linuxでも実行するシェルスクリプトの場合はOS判定すれば良い。以下はBashの場合。
if [[ "$OSTYPE" == "darwin"* ]]; then
  osascript -e ...
fi

通知が表示されない場合は、システム環境設定の「通知と集中モード」で「スクリプトエディタ」の通知を許可すること。
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。