1

我有一个 controlM 作业,它调用一个带有 4 个命令行参数的 shell 脚本。命令如下:

sh /appl/Script/Script1.sh ABC  /appl/Landing SV_SID_NormalisedEvent_* Y

命令行中的第三个参数 ( SV_SID_NormalisedEvent_*) 是文件通配符/模式,脚本在第二个参数 ( /appl/Landing) 中提供的路径中查找该文件通配符/模式。

迄今为止,当它因一个特定的损坏文件中止时,该作业运行良好:SV_SID_NormalisedEvent_20150810_151805.csv.gz. 我们通过忽略此文件并强制执行 ok 作业来手动处理此故障

从那时起,每当在日常运行期间触发此作业时,它总是会触发如下命令并失败。不知何故,第三个参数总是作为特定文件而不是通配符传递:

sh /appl/Script/Script1.sh ABC /appl/Landing SV_SID_NormalisedEvent_20150810_151805.csv SV_SID_NormalisedEvent_20150810_151805.csv.gz Y 

作业正常运行时正确的命令输出如下:

sh /appl/Script/Script1.sh ABC /appl/Landing 'SV_SID_NormalisedEvent*' Y

任何指向这个问题的指针?上述命令输出来自每次运行期间创建的 sysout 文件。

4

1 回答 1

0

我们通过忽略此文件并强制执行 ok 作业来手动处理此故障

听起来可能该文件尚未清理并且每次都可以找到。那可能吗?

如果仍然包含正确的参数,作业将使用 中定义的命令行运行SV_SID_NormalisedEvent_*

我想不出您看到这种行为的任何其他原因。

于 2016-04-13T13:07:31.667 回答