如何在Automator中使用变量

问题描述 投票:1回答:1

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

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

我尝试用Automator复制这个逻辑工作流程:

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

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

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

为什么会这样?

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

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

您将看到(在最后一步的结果部分中)值如何变为(IMHO)false。

有人提示吗?

variables workflow automator
1个回答
3
投票

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

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

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

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

Automator Workflow

© www.soinside.com 2019 - 2024. All rights reserved.