

AWS Mainframe Modernization Service(관리형 런타임 환경 환경 환경)는 더 이상 신규 고객에게 공개되지 않습니다. AWS Mainframe Modernization Service(관리형 런타임 환경 환경)와 유사한 기능은 AWS Mainframe Modernization Service(자체 관리형 환경)를 참조하세요. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [AWS Mainframe Modernization 가용성 변경을](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html) 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# M2RUNCMD 배치 유틸리티
<a name="m2runcmd"></a>

배치 유틸리티 프로그램인 M2RUNCMD를 사용하여 터미널 또는 명령 프롬프트에서 실행하는 대신 JCL에서 직접 Rocket Software(이전 Micro Focus) 명령, 스크립트 및 시스템 호출을 실행할 수 있습니다. 명령의 출력은 배치 작업의 스풀 로그에 기록됩니다.

**Topics**
+ [

## 지원하는 플랫폼
](#m2runcmd-platforms)
+ [

## Amazon EC22에서 메인프레임 현대화 런타임을 위한 M2RUNCMD 구성(AppStream 2.0 포함) AWS
](#m2runcmd-configure)
+ [

## 샘플 JCL
](#m2runcmd-sample-jcls)

## 지원하는 플랫폼
<a name="m2runcmd-platforms"></a>

다음 플랫폼에서 M2RUNCMD를 사용할 수 있습니다.
+ Rocket Software 런타임(Amazon EC2)
+  Rocket Software Enterprise Developer(ED) 및 Rocket Software Enterprise Server(ES) 제품의 모든 변형입니다.

## Amazon EC22에서 메인프레임 현대화 런타임을 위한 M2RUNCMD 구성(AppStream 2.0 포함) AWS
<a name="m2runcmd-configure"></a>

마이그레이션된 애플리케이션이 Amazon EC2의 AWS Mainframe Modernization 런타임에서 실행 중인 경우 다음과 같이 M2RUNCMD를 구성합니다.
+ 배치 유틸리티의 바이너리 위치를 포함하도록 [Micro Focus JES 프로그램 경로](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/index.html?t=GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html)를 변경하세요. 여러 경로를 지정해야 하는 경우 Linux에서는 콜론(:)을 사용하여 경로를 구분하고 Windows에서는 세미콜론(;)을 사용하여 경로를 구분합니다.
  + Linux: `/opt/aws/m2/microfocus/utilities/64bit`
  + Windows(32비트): `C:\AWS\M2\MicroFocus\Utilities\32bit`
  + Windows(64비트): `C:\AWS\M2\MicroFocus\Utilities\64bit`

## 샘플 JCL
<a name="m2runcmd-sample-jcls"></a>

다음 샘플 JCL 중 하나를 사용하여 설치를 테스트할 수 있습니다.

 **RUNSCRL1.jcl**

이 샘플 JCL은 스크립트를 생성하여 실행합니다. 첫 번째 단계는 `/tmp/TEST_SCRIPT.sh`라는 스크립트를 생성하고 `SYSUT1` 인스트림 데이터의 내용을 포함합니다. 두 번째 단계에서는 실행 권한을 설정하고 첫 번째 단계에서 만든 스크립트를 실행합니다. 두 번째 단계만 수행하여 이미 존재하는 Rocket 소프트웨어 및 시스템 명령을 실행하도록 선택할 수도 있습니다.

```
//RUNSCRL1 JOB 'RUN SCRIPT',CLASS=A,MSGCLASS=X,TIME=1440
//*
//*
//*-------------------------------------------------------------------*
//*  CREATE SCRIPT (LINUX)                                           
//*-------------------------------------------------------------------*
//*
//STEP0010 EXEC PGM=IEBGENER
//*
//SYSPRINT DD SYSOUT=*
//SYSIN    DD DUMMY
//*
//SYSUT1   DD *
#!/bin/bash

set -x

## ECHO PATH ENVIRONMNET VARIABLE
echo $PATH

## CLOSE/DISABLE VSAM FILE
casfile -r$ES_SERVER -oc  -ed -dACCTFIL

## OPEN/ENABLE VSAM FILE
casfile -r$ES_SERVER -ooi -ee -dACCTFIL

exit $?
/*
//SYSUT2   DD DSN=&&TEMP,
//            DISP=(NEW,CATLG,DELETE),
//            DCB=(RECFM=LSEQ,LRECL=300,DSORG=PS,BLKSIZE=0)
//*MFE: %PCDSN='/tmp/TEST_SCRIPT.sh'
//*
//*-------------------------------------------------------------------*
//*   RUN SCRIPT (LINUX)                                              *
//*-------------------------------------------------------------------*
//*
//STEP0020 EXEC PGM=RUNCMD
//*
//SYSOUT  DD  SYSOUT=*
//* 
//SYSIN   DD *
*RUN SCRIPT
 sh /tmp/TEST_SCRIPT.sh
/*
//
```

 **SYSOUT**

실행된 명령 또는 스크립트의 출력이 `SYSOUT` 로그에 기록됩니다. 수행된 각 명령에 대해 명령, 출력 및 반환 코드가 표시됩니다.

```
************ CMD Start ************   
                                                                                    
CMD_STR: sh /tmp/TEST_SCRIPT.sh                                                                                              
CMD_OUT:                                                                                                                                                                                                                             
+ echo /opt/microfocus/EnterpriseServer/bin:/sbin:/bin:/usr/sbin:/usr/bin    
/opt/microfocus/EnterpriseServer/bin:/sbin:/bin:/usr/sbin:/usr/bin           
+ casfile -rMYDEV -oc -ed -dACCTFIL                                                                       
-Return Code:   0                                                                                                         
Highest return code:    0                                                                                                 
+ casfile -rMYDEV -ooi -ee -dACCTFIL                                                                     
-Return Code:   8                                                                                                         
Highest return code:    8                                                                                                 
+ exit 8                                                                                                                  

CMD_RC=8                                                                                                                  

************  CMD End  ************
```

 **RUNCMDL1.jcl**

이 샘플 JCL은 RUNCMD를 사용하여 여러 명령을 실행합니다.

```
//RUNCMDL1 JOB 'RUN CMD',CLASS=A,MSGCLASS=X,TIME=1440
//*
//*
//*-------------------------------------------------------------------*
//*   RUN SYSTEM COMMANDS                                             *
//*-------------------------------------------------------------------*
//*
//STEP0001 EXEC PGM=RUNCMD
//*
//SYSOUT  DD  SYSOUT=*
//* 
//SYSIN   DD *
*LIST DIRECTORY
 ls
*ECHO PATH ENVIRONMNET VARIABLE
 echo $PATH
/*
//
```