从命令行运行快捷指令
你可以在 Mac 上使用“终端” App 从命令行运行快捷指令。从命令行运行快捷指令与在“快捷指令” App 中运行快捷指令并无不同,你可以传递文稿、图像和文本等。然后快捷指令可将输出传递到其他进程中,或者写入文件。
虽然你可以从命令行运行几乎任何快捷指令,但效率最高的快捷指令是不显示提醒或请求输入的快捷指令。快捷指令请求输入时,命令行进程会暂停,以等待用户输入。请将快捷指令配置为接收特定内容作为输入,而不是使用“选择”操作,如果未收到输入则请求该内容。请参阅在 Mac 上限制从其他 App 运行时快捷指令的输入。允许将图像传递到快捷指令并在无图像时进行请求,这可让单个快捷指令从任何位置运行,且仅在必要时提示用户。
从命令行运行快捷指令
快捷指令通过 shortcuts
命令来运行。若要运行名为“拼接图像”的快捷指令,你需要在空间中使用以下一条命令:
shortcuts run "Combine Images"
或 shortcuts run Combine\ Images
你可以使用 -i
或 --input-path
标志位来将图像传递到快捷指令。你可以通过由空格分隔的绝对或相对路径或者使用通配符来传递图像路径。若要运行“拼接图像”快捷指令并传递桌面上的所有 JPEG 文件,你可以使用以下命令:
shortcuts run "Combine Images" -i ~/Desktop/*.jpg
【注】传递使用竖线 (|
) 的文件路径时,路径会被视为文本。使用 -i
标志位来确保将输入作为文件路径处理。
如果快捷指令最后的操作会产生文本、图像或某个其他文件,或者如果使用了“停止并输出”操作,你可以添加 -o
或 --output-path
标志位来将输出智能写入文件。例如,你可以提供带有正确文件扩展名的路径来将文本输出到 PDF 或 TXT 文件。若要运行“拼接图像”快捷指令来将桌面上的所有图像拼接为一个 PNG 文件,你可以使用以下命令:
shortcuts run "Combine Images" -i ~/Desktop/*.jpg -o ~/Desktop/combined.png
如果快捷指令中的操作最后会产生输出,或者快捷指令中具有“停止并输出”操作,你可以使用 |
字符将快捷指令的输出传输到其他命令。你可以使用 --output-type
标志位和统一类型标识来定义输出类型(例如,强制输出 JPEG 而非文本)。若要运行“拼接图像”快捷指令来拼接桌面上的所有图像,然后作为 RTFD 传递到其他命令,你可以使用以下命令:
shortcuts run "Combine Images" -i ~/Desktop/*.jpg --output-type com.apple.rtfd | …
有关统一类型标识列表,请参阅 System-Declared Uniform Type Identifiers。
shortcuts
命令将在成功运行时输出 0
,出错时输出 1
。
在命令行中列出快捷指令
你可能想要在运行其他自动化之前检查某个快捷指令是否存在,或者在图形用户界面不可用时查看快捷指令列表。你可以使用 shortcuts list
列出所有可用的快捷指令。 还可以列出自定义文件夹中的快捷指令。使用 -f
标志位并提供自定义文件夹名称。例如,如果要列出名为“Music”的自定义文件夹中的所有快捷指令,请使用以下命令:
shortcuts list -f Music
【注】-f
标志位只能配合自定义文件夹使用,无法使用生成的“快速操作”、“菜单栏”等文件夹。
若要列出所有文件夹而非快捷指令,你可以使用以下命令:
shortcuts list --folders
从命令行查看快捷指令
你可以使用 shortcuts view
在编辑器中打开快捷指令。此功能在对错误快捷指令进行故障排除时非常有用。若要查看名为“Bad shortcut”的快捷指令,请使用以下命令:
shortcuts view "Bad shortcut"
从命令行给快捷指令签名
你可以使用 shortcuts sign
给之前导出的快捷指令签名。给快捷指令签名时,Apple 会收到副本以进行验证(以防止在你共享快捷指令时发生未经授权的篡改)。快捷指令签名有两种模式:
任何人:任何人均可导入你的快捷指令。
认识我的人:仅通讯录中有你的用户可导入你的快捷指令。快捷指令文件中将包括你的联系信息。
若要给名为“Share me”的快捷指令签名,请使用以下命令:
shortcuts sign --mode people-who-know-me --input "Share me.shortcut" --output "Share me signed.shortcut"
有关共享快捷指令的信息,请参阅在 Mac 上共享快捷指令。
虽然你可以使用 X-Callback-URL 从命令行运行和查看快捷指令,但应该使用 shortcuts
命令才能够提供智能输入和输出。请参阅Mac 上“快捷指令”中的 URL 方案介绍。