假设你是一个bash脚本向导,喜欢为不太懂技术的朋友和家人自动化任务。即使你给了他们一个脚本,完全解决了他们的问题,他们可能仍然担心自己使用终端。在这种情况下,您不妨手动为它们执行所有操作。
幸运的是,AppleScript是一种用户友好的语言,它可以轻松地将脚本转换为可共享和GUI友好的内容。
AppleScript是一种古老的编程语言,可以追溯到MacOS7。它是在20世纪80年代按照用户标准设计的一种简单易读的语言,其主要目的是与Finder交互以实现工作流自动化。
您可以使用它来执行复杂的工作流,例如bash脚本或修改首选项文件,并将其简化为只需单击按钮即可。您还可以以文件的形式进行输入,并将其拖放到文件上。
注意:从我们的AppleScript语法和工作流入门指南开始。
Utilities文件夹中的脚本编辑器工具是一个AppleScript文本编辑器和IDE,它将帮助您编写实用的AppleScript。它的“帮助”菜单栏项是非常宝贵的资源。使用它加载AppleScript语言指南。
您还可以转到“窗口”>;“库”以获取每个可能的AppleScript命令的列表。
Bash可以帮助你以一种外科的、超特定的方式与Mac交互。几乎可以编写任何你想对你的机器做的事情。
通常,如果要运行bash脚本,必须确保它具有可执行权限。然后您必须打开终端,导航到脚本路径,并点击Return来运行它。但是,使用AppleScript,您可以通过快速双击来运行bash脚本。
将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脚本中添加AppleScript命令呢?好吧,你也能做到!
在bash脚本中,可以添加
osascript命令,后跟AppleScript,添加有趣的元素,如用户输入或警告横幅。
假设你有一堆图片需要调整大小以准备写博客,或者你想按类型对所有文件进行排序。您可以编写脚本来完成这些操作,但是传统的bash脚本要求您在每次操作时都要编写要操作的每个文件的完整路径。在处理大量文件时,这可能会变得乏味。
幸运的是,您可以设置一个AppleScript,它只需要将目标文件拖到它上面就可以作为输入运行它。这些特殊的应用程序被称为水滴。下面是如何创建一个:
现在您可以直接将文件拖放到脚本上。
下面的例子展示了这两个实用的特性。
假设你想把一个文件、脚本或文档交给一个朋友,并想确保他们不会乱来。使用此脚本,您可以轻松地取消任何文件的写入权限,为其提供只读版本。
请记住,当您将一个文件放到一个水滴上时,它的路径名由AppleScript以HFS格式(层次文件系统)读取。这将使用冒号,并且不会转义空格,因此桌面上的文件如下所示:
Macintosh HD:Users:jdoe:Desktop:myfileBash使用另一种称为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既然你已经有了自动化之痒,那就跳进Mac上的Automator来解决它吧。Automator和AppleScript有很多相似之处。如果您刚刚开始使用脚本和自动化,您可能会发现Automator是一个更简单的网关。Automator不使用可读的编程语言,而是使用直观的拖放气泡和易于学习的界面来简化您的日常任务。
...。这包括Xarmin的一些包,这些包支持使用C#的多平台移动应用程序。 ...
... 应用程序为您提供系统上所有已安装应用程序的列表。在Kind下,它会告诉你该应用程序是否来自appstore,以及它是应用程序的旧版本还是重复安装。 ...
...能强大的语言,只要它提供AppleScript库,就可以控制任何应用程序。 ...
...终端的同义词,但是Bash和终端仿真器绝对是两个不同的应用程序。那么Bash到底是什么呢?在这篇短文中,我们将探讨Bash是什么,它做什么,以及如何开始使用它。 ...
... 第一行告诉运行这个程序的人如何运行它(即使用bash解释器)。第二个命令与您在命令行中输入的任何其他命令一样。将该文件另存为hello_世界.sh,然后: ...
...变量: echo $WEBSITE 环境控制 环境变量可以用来让脚本和应用程序知道它们应该如何工作。它们可用于存储设置或少量数据。例如,脚本可以使用其他脚本可以引用的值填充环境,而无需将它们写入文件。
...摩擦的体验,您必须从脚本中创建和使用GUI元素。 zenity应用程序 zenity允许您在Bash脚本中合并大量的图形界面元素。它是一个强大的工具包,可以给你的脚本一个现代的感觉和一个现代的,熟悉的外观。 zenity预装在Ubuntu、Fedora...
...并且Windows文件系统可以在Bash环境中的不同位置访问。 如何在windows10上编写bash脚本 相关:如何在windows10上安装和使用Linux Bash Shell 在Windows上编写shell脚本时,请记住Windows和类似UNIX的系统(如Linux)在shell脚本的文本文件中使用...
...虚拟机,或者只是为了测试备份是否正常工作?HTG解释了如何使用xenphoenix(一个免费的bash脚本)进行VM恢复。 图片来源:Ryan McCurdy via Compfight cc 正如我们在“如何使用Xen pocalypse免费备份Citrix Xen VMs”中提到的,Citrix Xen的优点之...