variables - 如何在 Automator 中使用变量

标签 variables workflow automator

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

我在 PHP 方面拥有丰富的经验(完全不同)和一些小的脚本知识(Apple 脚本、shell 等)。

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

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

    回显$variable_a 回显变量_b

看似简单,但使用 Automator 建立此逻辑的速度令人惊讶。

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

为什么会发生这种情况?

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

我附上了Automator "WorkFlow" File完全复制了上述工作流程逻辑。 这是一个 ZIP 文件,将其解压缩并在 Automator 中打开进行测试。

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

有人提示吗?

最佳答案

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

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

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

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

Automator Workflow

关于variables - 如何在 Automator 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49061061/

相关文章:

workflow - 你怎么用凯特?提示/技巧/工作流程

sharepoint - 事件处理范围事件中的延迟事件 - Windows 工作流共享点

macos - Automator 未正确过滤过去 7 天内修改的文件

javascript - 优化图像以适应最大文件大小

ruby-on-rails - 如何取消初始化/取消定义 Ruby 中的变量,这样我就不会在控制台中收到警告?

javascript - 将变量从 Objective-C 传递到 javascript 函数?

javascript getElementsByTagName

Windows Workflow Foundation 4 (WF4) 延迟

python - 从自动化器运行 python 脚本

php - 如何在 PHP 中将两个字符串组合在一起?