功能
通过Shell节点执行用户指定的Shell脚本。
说明
Shell节点的后续节点可以通过EL表达式 #{Job.getNodeOutput()} ,获取Shell脚本最后4000字符的标准输出。
使用示例:
获取某个Shell脚本(脚本名称为shell_job1)输出值包含“jack”的内容,EL表达式如下所示:
#{StringUtil.substringBetween(Job.getNodeOutput("shell_job1"),"
参数
用户可以参考下表配置Shell节点的参数。
属性参数
参数 | 是否必选 | 说明 |
---|---|---|
Shell或脚本 | 是 | 可以选择Shell语句或Shell脚本。 Shell语句 单击“Shell语句”参数下的文本框,在“Shell语句”页面输入需要执行的Shell语句。 Shell脚本 在“脚本路径”参数后选择需要执行的脚本。如果脚本未创建,请参考新建脚本和开发Shell脚本先创建和开发脚本。 说明 若选择Shell语句方式,数据开发模块将无法解析您输入Shell语句中携带的参数。 |
主机连接 | 是 | 选择执行Shell脚本的主机。 |
参数 | 否 | 填写执行Shell脚本时,向脚本传递的参数,参数之间使用空格分隔,例如:a b c。此处的“参数”需要在Shell脚本中引用,否则配置无效。 |
交互式输入 | 否 | 填写交互式参数,即执行Shell脚本的过程中,需要用户输入的交互式信息(例如密码)。交互式参数之间以回车符分隔,Shell脚本根据交互情况按顺序读取参数值。 |
节点名称 | 是 | 节点名称,只能包含英文字母、数字、中文字符、中划线、下划线、/、<>和点号,且长度小于等于128个字符。 |
高级参数
参数 | 是否必选 | 说明 |
---|---|---|
节点状态轮询时间(秒) | 是 | 设置轮询时间(1~60秒),每隔x秒查询一次节点是否执行完成。 |
节点执行的最长时间 | 是 | 设置节点执行的超时时间,如果节点配置了重试,在超时时间内未执行完成,该节点将不会再重试,直接置为失败状态。 |
失败重试 | 是 | 节点执行失败后,是否重新执行节点。 是:重新执行节点,请配置以下参数。 − 最大重试次数 − 重试间隔时间(秒) 否:默认值,不重新执行节点。 说明 如果作业节点配置了重试,并且配置了超时时间,该节点执行超时后将不会再重试,直接置为失败状态。 |
失败策略 | 是 | 节点执行失败后的操作: 终止当前作业执行计划:停止当前作业运行,当前作业实例状态显示为“失败”。 继续执行下一节点:忽略当前节点失败,当前作业实例状态显示为“忽略失败成功”。 挂起当前作业执行计划:暂停当前作业运行,当前作业实例状态显示为“等待运行”。 终止后续节点执行计划:停止后续节点的运行,当前作业实例状态显示为“失败”。 |
空跑 | 否 | 如果勾选了空跑,该节点不会实际执行,将直接返回成功。 |