首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Automator中使用变量

如何在Automator中使用变量
EN

Stack Overflow用户
提问于 2018-03-02 00:43:46
回答 1查看 8.7K关注 0票数 3

请原谅我,我用自动售货机没多久。

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

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

  1. 让用户插入值(设置$variable_a)
  2. 让用户再插入一个值(设置$variable_b)
  3. 提交
  4. 这将触发使用上述两种值的脚本。一个虚拟的例子: 回波$variable_a回波variable_b

看起来很简单,而且用Automator建立这个逻辑的速度之快令人惊讶。

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

这一切为什么要发生?

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

我附加了一个自动"WorkFlow“文件,它完全复制了上述WorkFlow逻辑。这是一个ZIP文件,解压缩并在Automator中打开以进行测试。

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

有人暗示了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-02 12:57:31

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

这样做的原因是,您可以将多个变量直接发送到一个Run Shell脚本操作中,并使用$1$2等引用它们。如果Automator只接受最近的输入,那么您将永远无法将多个变量输入到一个shell脚本中,除非首先手动将它们组合到一个列表中。

解决办法很简单。每个操作都有一个Options按钮,您可以按该按钮,这反过来会显示一个名为“忽略此操作的输入”的复选框。需要检查那些您想要独立于先前结果操作的操作。

下面是您的工作流程的屏幕截图,并在需要它的操作上加上适当的复选框:

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49061061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档