更新时间:2022-08-17 GMT+08:00

Shell

功能

通过Shell节点执行用户指定的Shell脚本。

Shell节点的后续节点可以通过EL表达式#{Job.getNodeOutput()},获取Shell脚本最后4000字符的标准输出。

使用示例:

获取某个Shell脚本(脚本名称为shell_job1)输出值包含“<name>jack<name1>”的内容,EL表达式如下所示:

#{StringUtil.substringBetween(Job.getNodeOutput("shell_job1"),"<name>","<name1>")}

参数

用户可以参考表1表2配置Shell节点的参数。

表1 属性参数

参数

是否必选

说明

Shell或脚本

可以选择Shell语句或Shell脚本。

  • Shell语句

    单击“Shell语句”参数下的文本框,在“Shell语句”页面输入需要执行的Shell语句。

  • Shell脚本

    “脚本路径”参数后选择需要执行的脚本。如果脚本未创建,请参考新建脚本开发Shell脚本先创建和开发脚本。

    说明:

    若选择Shell语句方式,数据开发模块将无法解析您输入Shell语句中携带的参数。

主机连接

选择执行Shell脚本的主机。

参数

填写执行Shell脚本时,向脚本传递的参数,参数之间使用空格分隔,例如:a b c。此处的“参数”需要在Shell脚本中引用,否则配置无效。

交互式输入

填写交互式参数,即执行Shell脚本的过程中,需要用户输入的交互式信息(例如密码)。交互式参数之间以回车符分隔,Shell脚本根据交互情况按顺序读取参数值。

节点名称

节点名称,只能包含英文字母、数字、中文字符、中划线、下划线、/、<>和点号,且长度小于等于128个字符。

表2 高级参数

参数

是否必选

说明

节点状态轮询时间(秒)

设置轮询时间(1~60秒),每隔x秒查询一次节点是否执行完成。

节点执行的最长时间

设置节点执行的超时时间,如果节点配置了重试,在超时时间内未执行完成,该节点将不会再重试,直接置为失败状态。

失败重试

节点执行失败后,是否重新执行节点

  • 是:重新执行节点,请配置以下参数。
    • 最大重试次数
    • 重试间隔时间(秒)
  • 否:默认值,不重新执行节点
说明:

如果作业节点配置了重试,并且配置了超时时间,该节点执行超时后将不会再重试,直接置为失败状态。

失败策略

节点执行失败后的操作:

  • 终止当前作业执行计划:停止当前作业运行,当前作业实例状态显示为“失败”。
  • 继续执行下一节点:忽略当前节点失败,当前作业实例状态显示为“忽略失败成功”。
  • 挂起当前作业执行计划:暂停当前作业运行,当前作业实例状态显示为“等待运行”。
  • 终止后续节点执行计划:停止后续节点的运行,当前作业实例状态显示为“失败”。

空跑

如果勾选了空跑,该节点不会实际执行,将直接返回成功。