You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Pentaho Job中shell脚本的执行结果传递给作业变量

Pentaho Job 直接获取Shell脚本执行结果的方法

方法1:直接捕获Shell标准输出到作业变量(最简便)

这是无需读写文件的最优方案,操作步骤如下:

  • 双击打开你的Shell脚本作业项配置面板,切换到结果标签页
  • 勾选「将标准输出复制到变量」选项,在输入框中填写你自定义的变量名,例如SHELL_EXEC_RESULT
  • 变量作用域选择「父作业」,确保后续所有作业步骤都能访问该变量
  • 调整你的Shell脚本,将需要传递的结果直接通过echo命令打印到标准输出即可,不要打印无关的日志内容,避免多余内容被写入变量

举个使用示例:如果你的脚本需要返回计算得到的文件路径,直接在脚本末尾加echo "/data/output/final.csv",后续步骤直接用${SHELL_EXEC_RESULT}就可以调用这个路径值。

方法2:多结果传递处理

如果需要同时传递多个结果值,可以在Shell脚本中用分隔符拼接所有结果输出,示例脚本如下:

echo "${param1}|${param2}|${param3}"

后续添加「拆分字段为变量」作业项,按分隔符|拆分后分别赋值给多个变量即可使用。

注意事项

  • 如果不需要返回结果带换行,脚本中打印结果时改用echo -n去掉末尾换行符
  • 单条变量内容不要超过32767字符,超长度的复杂结果还是建议用临时文件中转

参考脚本示例

Script

参考作业流程

Job process

内容的提问来源于stack exchange,提问作者ZelgiusLiu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 23:18:03