如何在Automator

时间:2018-03-02 00:43:47

标签: variables workflow automator

请耐心等待,我不久就会使用Automator。

我有很好的PHP经验(完全不同)和一些小脚本知识(苹果脚本,shell等)。

我尝试使用Automator复制此逻辑工作流程:

  1. 要求用户插入值(设置$ variable_a)
  2. 要求用户再插入一个值(设置$ variable_b)
  3. 提交
  4. 这会触发一个使用上面提交的值的脚本。一个虚拟的例子:

    echo $ variable_a echo variable_b

  5. 看起来很简单,使用Automator设置此逻辑的速度有多快。

    问题是,在上面的第2阶段,我的$variable_a突然变为$variable_a$variable_b的混合值。

    为什么会这样?

    它们似乎不像我理解"变量的通用用法"在任何语言或编程步骤中。 在其他系统中,通常,变量保持其定义的值(除非变量变量或您在代码中有意识地修改它们)

    我附上了Automator "WorkFlow" File,它完全复制了上述的WorkFlow Logic。 它是一个ZIP文件,解压缩并在Automator中打开进行测试。

    您将看到(在最后一步的结果部分中)值如何变为(恕我直言)为假。

    有人提示吗?

1 个答案:

答案 0 :(得分:3)

发生这种情况的原因是因为工作流中的一个操作的输出被作为输入馈送到工作流的下一个操作中。当操作接收输入时,它们也可以在某些情况下聚合,例如设置和获取变量时。

这样做的原因是您可以将多个变量直接发送到运行Shell脚本操作,并使用$1$2引用它们,等等。如果 Automator 只采用了最新的输入,你就永远无法将多个变量输入到shell脚本中,而无需先将它们自己手动组合到一个列表中。

解决方案很简单。每个操作都有一个选项按钮,您可以按此按钮,然后会显示一个名为忽略此操作的输入的复选框。需要检查您希望独立于先前结果运行的那些操作。

以下是工作流程的屏幕截图,其中包含针对需要它的操作的相应复选框:

Automator Workflow