如何使Macterminalpopup/提醒? AppleScript的?

我希望能够让我的程序显示警报,注意,无论显示我的自定义文本。 这是怎么做的? 另外,是否有可能使几个button设置一个variables?

类似于批处理: echo msgbox""<a.vbs&a.vbs

使用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提示 。

如果您使用任何具有通知中心的Mac OS X版本,则可以使用terminal通知器 gem。 首先安装它(你可能需要sudo ):

 gem install terminal-notifier 

然后简单地:

 terminal-notifier -message "Hello, this is my message" -title "Message Title" 

另请参阅此OS X每日post 。

使用此命令从terminal触发通知中心通知。

 osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"' 

这会将焦点恢复到以前的应用程序,并在答案为空时退出脚本。

 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 Editor中打开标准添加词典或参阅AppleScript语言指南 。

而我的15美分。 Macterminal等的单线程只需设置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放在待机睡眠的信息也:) sudologin是需要的,然后乘以两个小时的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 

一个类似的问题和答案可在以下urlfind: https : //superuser.com/questions/246353/how-to-make-the-terminal-do-a-pop-up-alert-in-osx

我写了一个脚本来解决这个问题 。 你不需要任何额外的软件。 安装:
brew install akashaggarwal7/tools/tsay
用法:
sleep 5; tsay

随意贡献!