【问题标题】:Variables in Automator is not working?Automator 中的变量不起作用?
【发布时间】:2018-03-19 11:46:39
【问题描述】:

我正在尝试在 Automator 中设置变量,但显然它不起作用? 它只输出最新的变量; “变量 2”。我做错了什么?

这就是我想要做的事情

  • 询问文字
  • 设置变量值:Var1
  • 询问文字
  • 设置变量 Var2 的值
  • 获取变量 Var1 的值
  • 获取变量 Var2 的值
  • 运行 Shell 脚本(作为参数):

对于“$@”中的 f

回显“$1”“$2”

完成

【问题讨论】:

    标签: macos shell applescript automator


    【解决方案1】:

    下面的 Automator 工作流程 对我来说适用于以下操作,并记下选项 设置:

    • 要求文本
    • 设置变量值
      • 变量:[Var1]
    • 要求文本
      • 选项
        • [√] 忽略此操作的输入
    • 设置变量值
      • 变量:[Var2]
    • 获取变量的值
      • 变量:[Var1]
      • 选项
        • [√] 忽略此操作的输入
    • 获取变量的值
      • 变量:[Var2]
    • 运行 Shell 脚本

      • Shell:[/bin/bash]            传递输入:[作为参数]

        echo "$1" "$2"
        

    Run Shell Script actionResults pane 中,它显示了在两个 Ask for Text actions,当然是设置为Set Value of Variable actions

    例如,我分别输入了“This is Var1”和“This is Var2”,Results pane Run Shell Script action 显示:

    This is Var1 This is Var2
    

    请注意下图中我没有选中要求文本中的[]需要回答复选框操作的 选项,但这只是为了测试,我确实在每个实例中添加了文本。对于真实的东西,您可能需要检查该复选框

    另请注意,通过在给定的actions中选中[√] Ignore this action's input 复选框,在action 和前一个 action 与可见连接相比,没有可见连接。

    【讨论】:

    • 谢谢,这基本上也是我设置的。一切运行顺利,但是 shell 脚本没有为“$2”得到任何东西——如果我使用 'echo "$1" "$2"' 我只会得到 Var2。 - 如果我使用 'echo "$1" "$2"' 我会得到 Var2 两次。 - 如果我使用 'echo "$2" "$2"' 我什么也得不到。两个“获取变量值”操作的结果都显示了正确的值,只是没有传递给 shell 脚本。
    • 哦,我知道了。我在 Var2 上有“忽略此操作输入”。我知道这一定很愚蠢。谢谢!
    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 2018-08-10
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    相关资源
    最近更新 更多