如何使用applescript将bash脚本转换为可单击的应用程序

Bash脚本很强大,但并不总是很方便。下面是AppleScript如何将Bash命令转换为可单击的应用程序。...

假设你是一个bash脚本向导,喜欢为不太懂技术的朋友和家人自动化任务。即使你给了他们一个脚本,完全解决了他们的问题,他们可能仍然担心自己使用终端。在这种情况下,您不妨手动为它们执行所有操作。

bash-script-applescript

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

applescript入门

AppleScript是一种古老的编程语言,可以追溯到MacOS7。它是在20世纪80年代按照用户标准设计的一种简单易读的语言,其主要目的是与Finder交互以实现工作流自动化。

您可以使用它来执行复杂的工作流,例如bash脚本或修改首选项文件,并将其简化为只需单击按钮即可。您还可以以文件的形式进行输入,并将其拖放到文件上。

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

Utilities文件夹中的脚本编辑器工具是一个AppleScript文本编辑器和IDE,它将帮助您编写实用的AppleScript。它的“帮助”菜单栏项是非常宝贵的资源。使用它加载AppleScript语言指南。

您还可以转到“窗口”>“库”以获取每个可能的AppleScript命令的列表。

使用applescript使bash脚本可单击

Bash可以帮助你以一种外科的、超特定的方式与Mac交互。几乎可以编写任何你想对你的机器做的事情。

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

“do shell script”命令

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

使用您最喜欢的macOS文本编辑器准备bash脚本,或者在脚本编辑器中正确地执行。准备好后,使用

do shell script

命令。您可以使用以下命令发送命令:

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

点击播放按钮来运行AppleScript并检查语法错误。最后,保存AppleScript;在“文件格式”下,选择“应用程序”。这将允许您双击以运行它。

在bash中反转

顺便说一下,如果您想做相反的操作并向bash脚本中添加AppleScript命令呢?好吧,你也能做到!

在bash脚本中,可以添加

osascript

命令,后跟AppleScript,添加有趣的元素,如用户输入或警告横幅。

使用applescript

Applescript droplet icon

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

幸运的是,您可以设置一个AppleScript,它只需要将目标文件拖到它上面就可以作为输入运行它。这些特殊的应用程序被称为水滴。下面是如何创建一个:

  1. 使用脚本编辑器打开新的AppleScript。
  2. 用打开的文件上的处理程序启动AppleScript。你可以随意调用掉的文件。AppleScript将使用它作为分配给您删除的文件的变量。
  3. 使用do shell脚本或常规AppleScript语法完成脚本的其余部分。确保关闭脚本时end open关闭处理程序。
  4. 如上所述,将AppleScript保存为应用程序。

现在您可以直接将文件拖放到脚本上。

applescript脚本示例

Applescript editor window

下面的例子展示了这两个实用的特性。

更改任何拖放文件的权限

假设你想把一个文件、脚本或文档交给一个朋友,并想确保他们不会乱来。使用此脚本,您可以轻松地取消任何文件的写入权限,为其提供只读版本。

请记住,当您将一个文件放到一个水滴上时,它的路径名由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不使用可读的编程语言,而是使用直观的拖放气泡和易于学习的界面来简化您的日常任务。

  • 发表于 2021-03-21 09:39
  • 阅读 ( 249 )
  • 分类:IT

你可能感兴趣的文章

什么是shell脚本,为什么要使用它

... 如何执行shell脚本?很简单。只需将脚本路径作为参数传递给shell: ...

  • 发布于 2021-03-13 04:53
  • 阅读 ( 247 )

VisualStudio代码是mac的完美文本和脚本编辑器

...。这包括Xarmin的一些包,这些包支持使用C#的多平台移动应用程序。 ...

  • 发布于 2021-03-14 07:11
  • 阅读 ( 202 )

使用sierra清理mac的存储空间,或者直接使用automator

... 应用程序为您提供系统上所有已安装应用程序的列表。在Kind下,它会告诉你该应用程序是否来自appstore,以及它是应用程序的旧版本还是重复安装。 ...

  • 发布于 2021-03-17 02:14
  • 阅读 ( 195 )

什么是applescript?编写第一个mac自动化脚本

...能强大的语言,只要它提供AppleScript库,就可以控制任何应用程序。 ...

  • 发布于 2021-03-20 16:33
  • 阅读 ( 526 )

在linux中,“bash”是什么意思?

...终端的同义词,但是Bash和终端仿真器绝对是两个不同的应用程序。那么Bash到底是什么呢?在这篇短文中,我们将探讨Bash是什么,它做什么,以及如何开始使用它。 ...

  • 发布于 2021-03-28 13:14
  • 阅读 ( 451 )

关于linux中bash for loops的所有知识

... 第一行告诉运行这个程序的人如何运行它(即使用bash解释器)。第二个命令与您在命令行中输入的任何其他命令一样。将该文件另存为hello_世界.sh,然后: ...

  • 发布于 2021-03-29 06:22
  • 阅读 ( 312 )

如何在linux上的bash中设置环境变量

...变量: echo $WEBSITE 环境控制 环境变量可以用来让脚本和应用程序知道它们应该如何工作。它们可用于存储设置或少量数据。例如,脚本可以使用其他脚本可以引用的值填充环境,而无需将它们写入文件。

  • 发布于 2021-04-02 06:44
  • 阅读 ( 220 )

如何向linux shell脚本添加gui

...摩擦的体验,您必须从脚本中创建和使用GUI元素。 zenity应用程序 zenity允许您在Bash脚本中合并大量的图形界面元素。它是一个强大的工具包,可以给你的脚本一个现代的感觉和一个现代的,熟悉的外观。 zenity预装在Ubuntu、Fedora...

  • 发布于 2021-04-03 07:01
  • 阅读 ( 293 )

如何在windows10上创建和运行bashshell脚本

...并且Windows文件系统可以在Bash环境中的不同位置访问。 如何在windows10上编写bash脚本 相关:如何在windows10上安装和使用Linux Bash Shell 在Windows上编写shell脚本时,请记住Windows和类似UNIX的系统(如Linux)在shell脚本的文本文件中使用...

  • 发布于 2021-04-09 10:54
  • 阅读 ( 210 )

如何使用xen phoenix(bash)免费恢复citrix xen vms

...虚拟机,或者只是为了测试备份是否正常工作?HTG解释了如何使用xenphoenix(一个免费的bash脚本)进行VM恢复。 图片来源:Ryan McCurdy via Compfight cc 正如我们在“如何使用Xen pocalypse免费备份Citrix Xen VMs”中提到的,Citrix Xen的优点之...

  • 发布于 2021-04-11 20:17
  • 阅读 ( 121 )
teuk1901
teuk1901

0 篇文章

相关推荐