概要
ターミナル上で osascript が使えなかった場合の対処方法です。
$ osascript -e 'display notification "Debug" with title "osascript"'
としても無反応で、
$ osascript -e 'display notification "Debug" with title "osascript"' 2>&1 ; echo $? 0
のように正常終了で終わる状態です。
環境
- macOS 15.5
原因
osascript が送る通知は OS から見るとスクリプトエディタ からの通知扱いになるため、ここがブロックされていると何も表示されません。
なのでスクリプトエディタの通知を許可する必要があります。
対応方法
スクリプトエディタを起動し、以下のスクリプトを実行します。
display notification "Hello" with title "Script Editor"

すると右上に通知の許可を取るバナーが生まれます。

これをクリックすると通知の設定画面が出てくるのでONにします。

動作確認に先ほどのスクリプトを再実行すると、ちゃんとメッセージが入ります。

ターミナル上でも通知が表示されるようになります。
