【问题标题】:How to pass several variables from AppleScript to Shell script?如何将多个变量从 AppleScript 传递到 Shell 脚本?
【发布时间】:2018-01-06 03:09:52
【问题描述】:

我使用 Automator 执行以下操作:

  1. 要求用户选择一个文件夹(作为服务操作)
  2. 要求用户从列表中选择名称 (AppleScript choose from list ...)
  3. 将选择的文件夹和选择的名称传递给 shell-script

我了解如何将第 1 步选择的文件夹传递到第 2 步。但我不明白如何在第 2 步和第 3 步之间传递两个变量(我只能传递一个)。我在第 2 步尝试 return {answer, input}。但 shell-script 失败并出现错误 -[__NSArrayM fileSystemRepresentation]: unrecognized selector sent to instance 0x600000654b80

【问题讨论】:

  • 显示您的代码,并最终显示您的工作流程屏幕。

标签: macos shell applescript automator


【解决方案1】:

例如,当将参数列表传递给 shell 脚本操作时

return {"/Applications", "com.apple.application-bundle"}
  • $@ 表示由空格连接的扁平列表 -> "/Applications com.apple.application-bundle"
  • $1代表第一个参数->"/Applications"
  • $2代表第二个参数->"com.apple.application-bundle"

    等等……

shell 脚本看起来像

mdfind -onlyin $1 "kMDItemContentType == $2"

注意:确保在 shell 脚本操作中将参数传递作为参数,而不是传递给标准输入

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-09
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多