如何在 unix shell (ksh) 脚本中检索 control-m JOBNAME
从我读到%%JOBNAME
的应该给我 JOBNAME 但 unix 不支持%%JOBNAME
。我试过但不成功
我也尝试过使用$JOBNAME
,但也没有用
首先,您必须将局部%%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 脚本中这样做,而且效果很好。需要注意的是,一旦你设置了一个全局变量,所有代理和所有服务器都可以通过相同的变量名看到它,所以要小心你使用唯一的变量名,这样你就不会踩到自己的脚趾,而且你清理追随你自己,否则你会留下大量的全局变量。
最简单的方法是在提交unix任务的作业中定义一个参数。将参数命名为 PARM1(或 PARM2)并为其指定值 %%JOBNAME。在 unix 脚本中,您将使用 $1(或 $2)访问该值。