如何在unix shell(ksh)脚本中检索control-m JOBNAME
从我的阅读%%JOBNAME
应该给我JOBNAME但unix不支持%%JOBNAME
。我尝试了但没有成功
我也尝试使用$JOBNAME
,但它无法正常使用
答案 0 :(得分:1)
首先,您必须将本地%%JOBNAME
变量放入全局变量中,您可以在作业表单中轻松完成。
一旦有了全局变量,CTM Server / Agents就会附带一个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脚本中这样做,效果很好。需要注意的是,一旦设置了全局变量,所有代理和所有服务器都可以使用相同的变量名称,因此请注意使用唯一的变量名,这样就不会踩到自己的脚趾,也可以你自己清理干净,否则你将会有大量的全局变数。
答案 1 :(得分:0)
最简单的方法是在提交unix任务的作业中定义参数。将参数命名为PARM1(或PARM2),并为其赋予值%% JOBNAME。在unix脚本中,您将使用$ 1(或$ 2)访问值。