我希望能够让我的程序显示警报,通知,显示我的自定义文本。这是怎么做到的?此外,是否可以使用几个按钮设置变量?
与批次类似: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 Hints的信息。
如果您使用的是具有Notification Center的任何Mac OS X版本,则可以使用terminal-notifier gem。首先安装它(你可能需要sudo
):
gem install terminal-notifier
然后简单地说:
terminal-notifier -message "Hello, this is my message" -title "Message Title"
使用此命令从终端触发通知中心通知。
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编辑器中打开标准添加词典或查看AppleScript Language Guide。
而我的15美分。 mac终端等的一个内线只是将MIN =设置为any和一条消息
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
我做了一个脚本来解决这个here。您不需要任何额外的软件。安装:
brew install akashaggarwal7/tools/tsay
用法:
sleep 5; tsay
随意贡献!