如何在 Mac OS 中从命令行触发警报对话框弹出窗口

Anonim

曾经希望您可以通过终端在Mac 上弹出对话框警报吗?事实证明,您可以使用总是有用的 osascript 命令,它允许从终端执行 AppleScript。对于那些在 MacOS 命令行上花费大量时间的人来说,这可能是一个很棒的小技巧,可以在特定任务完成时通知您,甚至可以作为脚本的一部分包含在内。这是我最喜欢的简单终端技巧之一的视觉方法,即在命令行任务完成时口头宣布。

让我们回顾一下高级 Mac 用户如何从命令行触发 MacOS GUI 中的警告对话框。您可以选择指定一个规范应用程序来触发弹出式警报出现在其中,或者,也许更好的是,在 Mac OS X 中最重要的应用程序中触发警报对话框。

是的,这适用于现有的每个macOS或Mac OS X版本,所以这里不应该有任何兼容性问题。

如何在Mac OS中弹出对话框警告

也许最有用的对话框警报是从任何地方都可见的,因此被发送到任何最重要的应用程序。这确保不会错过警告框。

在Mac最前面的应用程序中触发对话框警告框的语法如下:

"

osascript -e &39;告诉应用程序(最前面的应用程序的路径作为文本)显示对话框 Hello from osxdaily.com>"

弹出的警告框如下所示:

例如,当命令行中的任务完成时,您可以使用它在最前面的应用程序中触发一个对话框。假设我们正在运行一个 python 脚本,并希望在它完成时有一个警告框通知我们,这种用例的语法可能如下所示:

"

python MagicScript.py && osascript -e &39;告诉应用程序(最前面应用程序的路径作为文本)显示对话框脚本已完成>"

在 Python 完成运行“MagicScript”后,该示例将触发一个对话框,在 Mac OS X GUI 中最前面的应用程序中显示“脚本已完成”并带有黄色警告图标。py'。您可以选择其他图标,如停止、注意、警告,如果需要,甚至可以指定自定义图标的路径。

虽然您可以指定一个应用程序、系统事件或SystemUIServer,但选择更广泛的最前面的应用程序可以让警报对话窗口出现在屏幕上,无论哪个应用程序位于最前面。让我们涵盖触发特定应用程序的对话框警报,因为这也可能是可取的。

在特定应用程序中触发对话框警报

要向特定应用程序发送对话框或警报,只需指定有问题的应用程序名称,如下所示:

"

通过命令行在 Mac OS Finder 中触发警报对话框:osascript -e &39;告诉应用程序 Finder 显示来自 osxdaily.com 的对话框 Hello&39; "

"

通过命令行在终端应用程序中触发警报对话框:osascript -e &39;告诉应用程序终端显示来自osxdaily.com的对话框Hello&39; "

"

通过命令行在Safari 中触发警报对话框:osascript -e &39;告诉应用程序Safari 显示来自osxdaily.com 的对话框Hello&39; "

"

通过命令行触发系统事件的警告对话框:osascript -e &39;告诉应用程序系统事件显示对话框Howdy Doo&39; "

You can specify any application to send the alert to this way,但对于我们中的许多人来说,更广泛的前端或系统事件可能是更有用的选择。

如果一般的弹出对话框触发器太过干扰,您可能会喜欢使用终端通知器向 Mac 上的通知中心发送警报,终端通知器是第三方解决方案,允许命令行消息到出现在 Mac OS 的通用通知中心。一个侵入性更小的选项是在 Terminal Dock 图标上触发一个通知标记,尽管这对于许多用户的需求来说可能太微妙了。

无论如何,这是通过命令行将视觉警报对话框触发到Mac OS 图形界面的基本概述。如果需要,您可以通过更复杂地使用 AppleScript 和 osascript 进行更深入的研究,包括与对话框的交互影响接下来发生的事情,但这是一个更复杂的主题,最好在它自己的文章中提供。有兴趣了解有关使用 AppleScript 编写脚本的更多信息的用户可以查看脚本编辑器应用程序附带的文档,该文档非常全面和详细。

有任何有趣的方法来使用这个提示,或者知道另一种方法可以从命令行触发对话框进入 Mac OS 的 GUI?让我们在评论中知道。

如何在 Mac OS 中从命令行触发警报对话框弹出窗口