回答:
を使用しosascript
ます。例えば:
osascript -e 'tell app "Finder" to display dialog "Hello World"'
「Finder」をあなたが望むどんなアプリでも置き換えます。そのアプリがバックグラウンドである場合、ダイアログもバックグラウンドで表示されます。常にフォアグラウンドで表示するには、アプリとして「システムイベント」を使用します。
osascript -e 'tell app "System Events" to display dialog "Hello World"'
詳しくはMac OS Xヒントをご覧ください。
このコマンドを使用して、端末から通知センター通知をトリガーします。
osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'
通知センターのあるMac OS Xバージョンを使用している場合は、terminal-notifier gemを使用できます。最初にインストールします(必要になる場合がありますsudo
):
gem install terminal-notifier
そして単に:
terminal-notifier -message "Hello, this is my message" -title "Message Title"
こちらのOS X Dailyの投稿もご覧ください。
brew install terminal-notifier
醸造したい場合にも機能します。
これにより、フォーカスが前のアプリケーションに戻り、答えが空の場合はスクリプトが終了します。
a=$(osascript -e 'try
tell app "SystemUIServer"
set answer to text returned of (display dialog "" default answer "")
end
end
activate app (path to frontmost application as text)
answer' | tr '\r' ' ')
[[ -z "$a" ]] && exit
システムイベントにダイアログを表示するように指示した場合、それが以前に実行されていなかった場合、わずかな遅延が発生します。
表示ダイアログに関するドキュメントについては、AppleScriptエディタで標準追加の辞書を開くか、AppleScript言語ガイドを参照してください。
AppleScript:
display notification "Notification text" with title "Notification Title" subtitle "Notification sub-title" sound name "Submarine"
端末/ bashのとosascript
:
osascript -e 'display notification "Notification text" with title "Notification Title" subtitle "Notification sub-title" sound name "Submarine"'
小見出しも音も厳しくありません。
AppleScript:
display alert "Alert title" message "Your message text line here."
端末/ bashのとosascript
:
osascript -e 'display alert "Alert title" message "Your message text line here."'
警告行の後にサウンドを再生するための行をbashに追加します。
afplay /System/Library/Sounds/Hero.aiff
AppleScriptに同じ行を追加して、シェルスクリプトに処理を実行させます。
do shell script ("afplay /System/Library/Sounds/Hero.aiff")
端末とapplescript通知に関する便利な記事から言い換えました。
そして私の15セント。Mac端末などの1つのライナーは、MIN =を何にでも設定し、メッセージを表示するだけです。
MIN=15 && for i in $(seq $(($MIN*60)) -1 1); do echo "$i, "; sleep 1; done; echo -e "\n\nMac Finder should show a popup" afplay /System/Library/Sounds/Funk.aiff; osascript -e 'tell app "Finder" to display dialog "Look away. Rest your eyes"'
より多くのコマンドを組み合わせるインスピレーションのボーナス例; これにより、メッセージに対してもMacがスタンバイスリープ状態になります:) sudoログインが必要です。2時間の60 * 2としての乗算も同様です。
sudo su
clear; echo "\n\nPreparing for a sleep when timers done \n"; MIN=60*2 && for i in $(seq $(($MIN*60)) -1 1); do printf "\r%02d:%02d:%02d" $((i/3600)) $(( (i/60)%60)) $((i%60)); sleep 1; done; echo "\n\n Time to sleep zzZZ"; afplay /System/Library/Sounds/Funk.aiff; osascript -e 'tell app "Finder" to display dialog "Time to sleep zzZZ"'; shutdown -h +1 -s
これを解決するためのスクリプトをここに作成しました。このために追加のソフトウェアは必要ありません。インストール:
brew install akashaggarwal7/tools/tsay
使用法:
sleep 5; tsay
貢献してください!