Control-m JOBNAME в сценарии оболочки

Как я могу получить control-m JOBNAME в сценарии оболочки unix (ksh)

Из того, что я прочитал, %%JOBNAME должен дать мне JOBNAME, но unix не поддерживает %%JOBNAME. Я пробовал, но не получилось

Также я пытался использовать $JOBNAME, но это тоже не сработало.


person user2632358    schedule 24.01.2015    source источник


Ответы (2)


Сначала вам нужно будет превратить вашу локальную переменную %%JOBNAME в глобальную переменную, вы можете сделать это довольно легко из формы задания.

Если у вас есть глобальная переменная, в сервер/агенты CTM включена утилита ctmvar. Вы можете использовать это для чтения в Control-M глобальных переменных автоматического редактирования в средах оболочки с поддержкой сценариев, таких как bash, следующим образом:

UNIXVAR=$(ctmvar -action list | grep %%CTMGLOBALVARIABLENAME | awk '{print $2}')

Чтобы сделать обратное и установить глобальную переменную CTM из переменной оболочки unix, сделайте следующее:

ctmvar -action set -var "%%\CTMGLOBALVARIABLE" -varexpr "$UNIXVAR"

Я делаю это все время в сценариях оболочки, и это прекрасно работает. Одно предостережение заключается в том, что после того, как вы установите глобальную переменную, она будет видна всем агентам и всем серверам под одним и тем же именем переменной, поэтому будьте осторожны при использовании уникальных имен переменных, чтобы не наступать себе на ноги, а также очищать за собой, иначе у вас останется куча глобальных переменных.

person John Pimentel    schedule 08.04.2015

самый простой способ - определить параметр в задании, которое отправляет задание unix. Назовите параметр PARM1 (или PARM2) и присвойте ему значение %%JOBNAME. в сценарии unix вы получите доступ к значению с помощью $1 (или $2).

person Pat N.    schedule 14.08.2018