Answers:
使用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版本,则可以使用终端通知程序 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中添加同一行,让shell脚本执行工作:
do shell script ("afplay /System/Library/Sounds/Hero.aiff")
摘自关于终端和Applescript通知的便利文章。
还有我的15美分。一个用于mac终端的衬板等只需将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登录,然后乘以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
可以在以下网址获得类似的问答: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
随时贡献!