如何在unix shell (ksh)脚本中检索control-m JOBNAME
据我所知,%%JOBNAME应该给我提供作业名,但是unix不支持%%JOBNAME。我试过了,但没有成功。
我也试过使用$JOBNAME,但也不起作用
发布于 2015-04-09 02:01:43
首先,您必须将本地%%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脚本中这样做,它工作得很好。有一点需要注意的是,一旦设置了全局变量,它是否对所有代理和所有服务器都可见,使用相同的变量名,因此要小心使用唯一的变量名,这样就不会踩到自己的脚,而且还要自己清理,否则会留下一大堆全局变量。
发布于 2018-08-14 20:59:46
最简单的方法是在提交unix任务的作业中定义一个参数。将参数命名为PARM1 (或PARM2),并为其赋值%%JOBNAME。在unix脚本中,您将使用$1 (或$2)访问值。
https://stackoverflow.com/questions/28129133
复制相似问题