如何将 shell 脚本中的结果传递给 Job 中的变量
Posted
技术标签:
【中文标题】如何将 shell 脚本中的结果传递给 Job 中的变量【英文标题】:how can I pass the result in a shell script to a variable in Job 【发布时间】:2021-09-01 05:00:06 【问题描述】:现在我有一个使用 shell 脚本来处理一些数据的 pentaho 工作。 但我发现如果我想在脚本中使用结果,我必须将其写入文件并读取文件以分配变量。 在以下步骤中是否有更简单的方法来使用脚本步骤的结果?
这是脚本内容。
这是整个过程。
【问题讨论】:
#1 你能分享一下你的 ktr 屏幕和 shell 步骤配置吗? pentaho 中的变量很复杂。 #2 你使用的是 kjb 还是 ktr? @JRichardsz 我正在使用 kjb。我会发布一些图片。 【参考方案1】:在 pentaho 中你不能创建一个变量并在同一个地方使用。
基本上你只需要创建一个ktr和一个job:
第一个负责执行一些任务并使用set-variable step(root job level option)保存变量 在第一个 ktr 中创建的变量也可用于作业级别如果你想在另一个ktr中使用该变量
第二个ktr,一开始应该使用get-variable步骤来检索之前转换中创建的变量 应使用作业按顺序执行转换在您的情况下,您应该在第一个 ktr 中运行 shell,将结果转换为变量并使用 set-variable 保存它。您调用 ktr 的作业能够使用 previous ktr
中的变量 create【讨论】:
现在我的过程是这样的:开始-> powershell 脚本(将结果写入文件)-> 设置变量步骤(从上面的文件生成变量)-> 打印它。这个过程运行良好。所以我认为如果 SetVariable 步骤可以从文件中生成变量,有什么方法可以直接生成它。 此外,我只在 kjb 中看到 shell 脚本步骤,但在 ktr 中看不到。这是版本的原因吗?我正在使用 7.0。以上是关于如何将 shell 脚本中的结果传递给 Job 中的变量的主要内容,如果未能解决你的问题,请参考以下文章