所以我有一个明显使用变量的 ruby 脚本。部分脚本会打开一个应用程序并运行一个自动化工作流程。我的 ruby 脚本中有一些变量需要我的工作流程使用。这有可能吗?
问问题
1153 次
2 回答
0
您是否能够:a) 从 Ruby 执行命令行程序 b) 将 Automator 工作流程保存为应用程序
如果是这样,您应该能够运行该open
命令,例如open test.app --args someArg
. 或者您可以使用automator
命令,例如echo "someArg" | automator -i - test.app
请注意,整个 Automator 脚本将为每个参数运行一次 - 尝试将“Speak Text”作为您的第一个项目来验证这一点。
要一次性处理所有参数,您实际上只需要传递一个然后将其拆分,例如open test.app --args "one|two|three|four"
然后类似
运行输入 将 myArray 设置为我的 theSplit(输入为字符串,“|”) 将 a 设置为 myArray 的第 1 项 将 b 设置为 myArray 的第 2 项 将 c 设置为 myArray 的第 3 项 将 d 设置为 myArray 的第 4 项 显示对话框“c is” & c - 做东西 返回字符串 结束运行 on theSplit(theString, theDelimiter) -- 保存分隔符以恢复旧设置 将 oldDelimiters 设置为 AppleScript 的文本项分隔符 -- 将分隔符设置为要使用的分隔符 将 AppleScript 的文本项分隔符设置为 theDelimiter -- 创建数组 --将 theArray 设置为 theString 的每个文本项 将 theArray 设置为 theString 的文本项 --将对话框显示为字符串 -- 恢复旧设置 将 AppleScript 的文本项分隔符设置为 oldDelimiters -- 返回结果 返回数组 结束分裂
但是,AppleScript 似乎只有在不是第一个操作时才有效。如果您需要它作为第一个操作,您可能会这样做,请首先插入一个运行 Shell 脚本,它只传递参数:
对于 f 做 回声“$ f” 完毕
于 2011-11-13T18:43:51.427 回答
-1
是的,可以将参数传递给 ruby 脚本。这是一个很好的教程:
于 2011-08-16T09:57:31.050 回答