我有一个 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 文件。