首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shell脚本中的Control-m JOBNAME

shell脚本中的Control-m JOBNAME
EN

Stack Overflow用户
提问于 2015-01-25 02:59:07
回答 2查看 3.4K关注 0票数 1

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

据我所知,%%JOBNAME应该给我提供作业名,但是unix不支持%%JOBNAME。我试过了,但没有成功。

我也试过使用$JOBNAME,但也不起作用

EN

回答 2

Stack Overflow用户

发布于 2015-04-09 02:01:43

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

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

代码语言:javascript
复制
UNIXVAR=$(ctmvar -action list | grep %%CTMGLOBALVARIABLENAME | awk '{print $2}')

要执行相反操作并从unix shell变量设置CTM全局变量,请执行以下操作:

代码语言:javascript
复制
ctmvar -action set -var "%%\CTMGLOBALVARIABLE" -varexpr "$UNIXVAR"

我一直在shell脚本中这样做,它工作得很好。有一点需要注意的是,一旦设置了全局变量,它是否对所有代理和所有服务器都可见,使用相同的变量名,因此要小心使用唯一的变量名,这样就不会踩到自己的脚,而且还要自己清理,否则会留下一大堆全局变量。

票数 1
EN

Stack Overflow用户

发布于 2018-08-14 20:59:46

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28129133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档