如何将AppleScript中的几个变量传递给Shell脚本?

时间:2017-07-30 14:15:20

标签: macos shell applescript automator

我使用Automator执行以下操作:

  1. 要求用户选择一个文件夹(作为服务操作)
  2. 要求用户从列表中选择名称(AppleScript choose from list ...
  3. 将所选文件夹和所选名称传递给shell-script
  4. 我理解如何将从步骤1中选择的文件夹传递到第2步。但我不明白如何在步骤2和3之间传递两个变量(我只能传递一个)。我在第2步尝试return {answer, input}但是shell脚本失败并显示错误-[__NSArrayM fileSystemRepresentation]: unrecognized selector sent to instance 0x600000654b80

1 个答案:

答案 0 :(得分:2)

将参数列表传递给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脚本操作中作为参数而不是传递给stdin