在shell脚本中控制-m JOBNAME

时间:2015-01-24 18:59:07

标签: unix control-m

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

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

我也尝试使用$JOBNAME,但它无法正常使用

2 个答案:

答案 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)访问值。