覆盖主要内容
版本: 6.1.0

Shell

组件介绍

使用Shell作业条目在运行作业的主机上执行 shell 脚本。例如,假设您有一个程序,该程序读取五个数据表,并创建一个指定格式的文件。你知道这个程序是有效的。Shell 允许您在 UDI 中执行部分工作,但可根据需要重用读取数据表的程序。 命令行程序作业条目与平台无关;您可以使用批处理文件、UNIX 等。使用 Shell 作业条目时,UDI 会调用 Java 来在指定位置执行程序。返回状态由操作系统调用提供。例如,在批处理脚本中,返回值为 1 表示脚本成功;在批处理脚本中,返回值为 1,表示脚本成功;返回值 0(零)表示不成功。您可以通过命令行参数并设置命令程序作业条目的日志记录。


组件图标


页面介绍

选项描述
步骤名称作业项名称。此名称在单个作业中必须是唯一的。
插入脚本当您想要在脚本选项卡中执行脚本而不是_执行脚本_文件名时_,请选中此选项_。当您想要执行操作系统命令(如_dir、ls_或_ipconfig)_而不提供特定路径时,这同样很有用。此选项在工作目录中创建一个临时脚本并执行它。- 注:在脚本中给出变量时,变量将在脚本中解析。
脚本文件名要启动的 shell 脚本的文件名
工作路径将用作 shell 脚本工作目录的目录。工作目录仅在 shell 脚本启动时才处于活动状态,因此"文件名"仍应包括脚本的完整路径。当字段留空或工作目录无效时 $[user.dir] 将用作工作目录。
指定日志文件启用指定用于执行此转换的单独日志记录文件
追加日志文件启用追加到日志文件,而不是创建新的日志文件
日志文件名称日志文件的目录和基名(例如 C:\logs)
日志文件扩展名文件名扩展名(例如:日志或 txt)
日志文件中包含日期将系统日期添加到文件名。(_20231231)
日志文件中包含时间将系统时间添加到文件名。(_235959)
日志级别指定执行 shell 的日志记录级别。
将上一个结果作为参数可以使用"复制行结果"步骤将上一个转换的结果发送到 shell 脚本。(作为参数)
对每一个输入行执行一次这将实现循环。如果上一个作业条目返回一组结果行,则对于找到的每一行,可以执行一次此 shell 脚本。每次执行时,一行将传递给此脚本,并结合将上一个结果复制到参数。然后可以在命令行参数 $1、$2、...(%1, %2, %3, ...在窗口上)
参数指定用作 shell 脚本参数的字符串。
脚本要执行的脚本

使用案例

案例数据

在本案例中使用“test.sh”文件进行案例展示,文件具体内容如下:

#!/bin/bash
echo "Hello World !"

根据需求,也可以选择自行插入脚本执行。

案例示例

本案例展示利用“Shell”组件完成脚本文件运行。

总体流程如下:

案例操作

1、拖动“Shell”组件到画布,双击打开画布。配置脚本信息,选择对应的脚本文件。在本案例中具体操作如下图。

2、在本案例中具体配置如下图所示。

3、配置完成后,点击保存。本案例总体流程如下。

4、点击运行,选择从“Start”开始执行作业,点击启动。

5、运行结果如下图所示,可以看到运行结果为true,启动运行脚本文件成功。如果运行结果是false,则表明启动脚本文件失败。