如何使用AppleScript将Bash脚本转换为可点击的应用程序

假设您是一个bash脚本向导,他喜欢为不那么精通技术的朋友和家人自动执行任务。即使您已经给他们提供了一个脚本,可以完全解决他们的问题,但他们可能仍然担心自己使用终端。在这种情况下,您也可以手动为它们完成所有操作。

幸运的是,AppleScript是一种用户友好的语言,可以轻松地获取脚本并将其转换为可共享和GUI友好的内容。

AppleScript入门

AppleScript是一种古老的编程语言,可以追溯到Mac OS7。它是根据用户标准设计成一种易于理解的语言。在1980年代。它的主要目的是与Finder交互以使工作流自动化。

您可以使用它来处理复杂的工作流(例如bash脚本或首选项文件的修改),并将其简化为仅此而已。而不是单击按钮。您还可以将文件拖放到其上方进行输入。

注意:从我们的AppleScript语法和工作流入门指南开始。

实用工具文件夹中的脚本编辑器工具是AppleScript文本编辑器和IDE,可帮助您编写功能正常的AppleScript。其 Help 菜单栏项是宝贵的资源。使用它来加载《 AppleScript语言指南》。

您还可以转到 Window> Library (Windows>库)以获取每个可能的AppleScript命令的列表。

制作您的使用AppleScript可以单击Bash脚本

Bash可以帮助您以一种外科手术,特有的方式与Mac交互。几乎可以对您的计算机执行任何操作。

通常,如果要运行bash脚本,则必须确保它具有可执行权限。然后,您必须打开终端,导航到脚本路径,然后按 Return 来运行它。但是,使用AppleScript,您可以快速双击运行bash脚本。

将bash脚本添加到AppleScript是一个简单的过程。首先,进入应用程序>实用程序>脚本编辑器,打开一个新的AppleScript。然后,为完成的脚本选择一个位置,然后点击 New Document 。您会看到一个空白的编辑器窗口。

使用您喜欢的macOS文本编辑器准备bash脚本,或者直接在脚本编辑器中进行操作。准备就绪后,请使用执行shell脚本命令将其添加。您可以使用以下命令发送命令:

do shell script "Command"

添加分号(;)发送多个命令,例如:

do shell script "Command1; Command 2"

要引用其他地方的现有bash脚本,只需使用:

do shell script "/path/to/your/script.sh"

如果要运行需要管理员特权的命令,可以先在AppleScript中进行设置,例如:

do shell script "command" user name "USER" password "PASSWORD" with administrator privileges

点击 Play strong>按钮可运行AppleScript并检查其语法错误。最后,保存您的AppleScript。在文件格式下,选择应用

请注意,如果要反向操作并将AppleScript命令添加到bash脚本,该怎么办?嗯,您也可以这样做!

在bash脚本中,您可以添加 osascript 命令,然后添加AppleScript,以添加有趣的元素例如用户输入或警报横幅。

使用AppleScript Droplets

说您需要调整图片的大小以准备博客,或者您想对所有图片进行排序您的文件按类型。您可以编写脚本来完成这些操作,但是传统的bash脚本要求您每次执行操作时都要编写每个文件的完整路径。处理大量文件时,这可能变得很乏味。

幸运的是,您可以设置一个AppleScript,只需要将目标文件拖到其上即可将其作为输入运行。这些特殊的AppleScripts称为 Droplets 。创建方法如下:

  • 使用脚本编辑器打开新的AppleScript。
  • 使用处理程序在打开的drop_file上启动AppleScript 。您可以根据需要调用 dropped_file 。 AppleScript会将其用作分配给您删除的文件的变量。
  • 使用执行shell脚本或常规脚本来完成脚本的其余部分AppleScript语法。确保使用结束打开关闭脚本以关闭处理程序。
  • 将AppleScript保存为应用程序,如上所述。
  • 现在您可以将文件直接拖放到脚本上。

    AppleScript脚本示例

    下面的示例展示了这两个方便的功能。

    说您想将文件,脚本或文档提供给朋友,并希望确保他们不会弄乱它。使用此脚本,您可以轻松地删除任何文件的写权限,从而为它们提供只读版本。

    请记住,当您将文件拖放到Droplet之上时, AppleScript以HFS格式(分层文件系统)读取路径名。这使用冒号,并且不会转义空格,因此您桌面上的文件读为:

    Macintosh HD:Users:jdoe:Desktop:myfile

    Bash使用另一种称为POSIX的路径标准,因此bash中的同一文件被读取为 Macintosh \ HD / Users / jdoe / Desktop / myfile 。下面的脚本会在更改文件名之前将文件名转换为相应的路径标准:

    on open dropped_file  set bash_path_file to the POSIX path of dropped_file  do shell script "chmod -R -w " & quoted form of bash_path_fileend open

    使用Automator进行更多Mac自动化

    现在,您已经有了自动化的痒,通过在Mac上进入Automator来抓取它。 Automator和AppleScript有很多相似之处。如果您刚刚进入脚本和自动化领域,您可能会发现Automator是一个更简单的网关。 Automator代替了可读的编程语言,而是使用直观的拖放气泡和易于学习的界面来简化平凡的任务。

    标签: Applescript 计算机自动化 Mac技巧 脚本 任务自动化