请耐心等待,我使用 Automator 不久。
我在 PHP 方面拥有丰富的经验(完全不同)和一些小的脚本知识(Apple 脚本、shell 等)。
我尝试使用 Automator 复制此逻辑工作流程:
- 要求用户插入值(设置 $variable_a)
- 要求用户再插入一个值(设置 $variable_b)
- 提交
这会触发一个使用上面提交的两个值的脚本。一个虚拟示例:
回显$variable_a 回显变量_b
看似简单,但使用 Automator 建立此逻辑的速度令人惊讶。
问题是,在上面的第 2 阶段,我的 $variable_a
突然变成了 $variable_a
和 $variable_b
的混合值。
为什么会发生这种情况?
它们似乎并不像我所理解的任何语言或编程步骤中“变量”的一般用法那样起作用。 在其他系统中,通常,变量保留它们定义的值(除非变量变量或者您有意识地在代码中修改它们)
我附上了Automator "WorkFlow" File完全复制了上述工作流程逻辑。 这是一个 ZIP 文件,将其解压缩并在 Automator 中打开进行测试。
您将看到(在最后一步的结果部分)这些值如何变为(恕我直言)为假。
有人提示吗?
最佳答案
发生这种情况的原因是工作流中一个操作的输出被作为工作流下一个操作的输入。由于操作接收输入,因此在某些情况下它们也可以聚合,例如在设置和获取变量时。
这样做的原因是,您可以将多个变量直接发送到运行 Shell 脚本操作中,并使用 $1
、 引用它们$2
等。如果 Automator 只接受最近的输入,那么您永远无法将多个变量输入到 shell 脚本中,除非您先手动将它们组合到一个列表中.
解决办法很简单。每个操作都有一个可以按下的选项按钮,该按钮会显示一个名为忽略此操作的输入的复选框。需要检查您想要独立于先前结果进行操作的那些操作。
这是您的工作流程的屏幕截图,其中针对需要它的操作勾选了相应的复选框:
关于variables - 如何在 Automator 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49061061/