【问题标题】:Control-m JOBNAME in shell scriptshell 脚本中的 Control-m JOBNAME
【发布时间】:2015-01-24 18:59:06
【问题描述】:

如何在 unix shell (ksh) 脚本中检索 control-m JOBNAME

从我读到的%%JOBNAME 应该给我JOBNAME,但unix 不支持%%JOBNAME。我试过了,但没有成功

我也尝试过使用$JOBNAME,但也没有用

【问题讨论】:

    标签: unix control-m


    【解决方案1】:

    首先,您必须将本地 %%JOBNAME 变量转换为全局变量,您可以在工作表单中轻松完成此操作。

    一旦有了全局变量,CTM 服务器/代理中就会包含一个 ctmvar 实用程序。 您可以使用它来将 Control-M 全局自动编辑变量读入可编写脚本的 shell 环境中,例如 bash,如下所示:

    UNIXVAR=$(ctmvar -action list | grep %%CTMGLOBALVARIABLENAME | awk '{print $2}')
    

    反之,从 unix shell 变量设置 CTM 全局变量:

    ctmvar -action set -var "%%\CTMGLOBALVARIABLE" -varexpr "$UNIXVAR"
    

    我一直在 shell 脚本中这样做,而且效果很好。需要注意的是,一旦你设置了一个全局变量,所有代理和所有服务器都可以通过相同的变量名看到它,所以要小心你使用唯一的变量名,这样你就不会踩到自己的脚趾,而且你清理追随你自己,否则你会留下大量的全局变量。

    【讨论】:

      【解决方案2】:

      最简单的方法是在提交unix任务的job中定义一个参数。将参数命名为 PARM1(或 PARM2)并为其指定值 %%JOBNAME。在 unix 脚本中,您将使用 $1(或 $2)访问该值。

      【讨论】:

        猜你喜欢
        • 2020-08-30
        • 1970-01-01
        • 1970-01-01
        • 2018-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多