Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Op 스크립트에서 명령줄 인수 선언 및 사용

Junos OS 운영 스크립트는 스크립트를 호출할 때 명령줄 인수를 허용할 수 있습니다. CLI의 op 스크립트에 대한 컨텍스트에 따라 도움을 요청할 때 사용자가 가능한 인수 목록을 볼 수 있도록 구성에 선언이나 명령문을 포함할 수 있습니다. 또한 스크립트에는 이러한 인수를 처리하는 데 필요한 선언과 코드가 포함되어야 합니다. 다음 섹션에서는 인수와 도움말 텍스트를 정의하고 op 스크립트에서 인수를 사용하는 방법을 자세히 설명합니다.

Op 스크립트 명령줄 인수 선언

CLI에서 컨텍스트에 민감한 도움말을 사용할 때 표시되는 예상 op 스크립트 인수 목록을 정의하는 두 가지 방법이 있습니다.

  • 운영 스크립트에 선언 포함

  • Junos OS 구성에 명령문 포함

스크립트 생성구성에서 생성된 인수는 동일한 운영 영향을 갖습니다. 다음 섹션에서는 서로 다른 방법을 사용하여 op 스크립트 인수를 정의하고 CLI에 표시하는 방법을 설명합니다.

Op 스크립트에서 인수를 정의하는 방법

Op 스크립트의 예상 명령줄 인수를 Python, SLAX 또는 XSLT op 스크립트에서 직접 선언할 수 있습니다.

Python op 스크립트에서 명령줄 인수를 선언하려면 다음을 수행합니다.

  1. 으로 명명 arguments된 글로벌 사전을 선언합니다.
  2. 각 인수에 대해 인수 이름 및 인수 도움말 텍스트에 매핑되는 이름 값 쌍을 정의합니다.

Python 구문

참고:

CLI에서 인수를 표시하려면 Python 스크립트에 명령문이 if __name__ == '__main__': 포함되어야 합니다.

SLAX 또는 XSLT op 스크립트에서 명령줄 인수를 선언하려면 다음을 수행합니다.

  1. 으로 명명 arguments된 글로벌 변수 선언.
  2. 각 인수에 대해 요소를 정의합니다 <argument> .
  3. <argument> 요소 내:
    • 인수의 <name> 이름으로 요소를 정의합니다.
    • 선택적으로 해당 인수에 <description> 대한 도움말 텍스트를 제공하는 요소를 정의합니다.

XSLT 구문

SLAX 구문

Junos OS 구성에서 인수를 정의하는 방법

Op 스크립트에서 인수를 직접 선언하는 대안으로 Junos OS 구성에서 op 스크립트의 예상 명령줄 인수를 선언할 수 있습니다.

구성에서 명령줄 인수를 선언하려면 다음을 수행합니다.

  1. 지정된 스크립트의 arguments 계층 수준에서 명령 [edit system scripts op file filename] 문 탐색
  2. 인수 이름을 구성합니다.
  3. 선택적으로 인수에 description 대한 도움말 텍스트를 제공하도록 명령문을 구성합니다.

예를 들어:

컨텍스트에 민감한 도움말에서 인수를 표시하는 방법

op 스크립트 또는 구성에서 인수를 선언한 후에는 CLI의 컨텍스트에 민감한 도움말을 사용하여 op 스크립트 인수를 나열할 수 있습니다. 인수 설명 옵션을 포함하는 경우 CLI는 인수 이름을 포함한 도움말 텍스트를 표시합니다.

Op 스크립트 또는 구성에 인수 선언을 포함하지 않음으로써 운영 스크립트에 대한 숨겨진 인수를 만들 수도 있습니다. 일반적으로 스크립트에서와 마찬가지로 인수를 사용하지만, 해당 op 스크립트에 대해 컨텍스트에 따라 도움을 요청할 때 CLI는 인수 또는 도움말 텍스트를 표시하지 않습니다.

참고:

Junos OS 구성에서 명령줄 인수를 구성하고 op 스크립트에서 인수를 직접 선언하는 경우 스크립트에서 선언하는 인수를 여전히 사용할 수 있지만, 명령을 실행할 op filename ? 때 CLI는 이를 Possible completions 나열하지 않습니다. 이는 관리(mgd) 프로세스가 먼저 인수에 대한 구성을 확인함으로써 목록을 채우기 때문에 발생합니다. mgd 프로세스는 구성에서 인자 없는 경우에만 인수에 대한 스크립트를 확인합니다. 따라서 구성에서 인수를 선언하면 스크립트에 선언된 인수는 CLI에 숨겨집니다.

운영 스크립트에 대한 도움말 텍스트 구성에 대한 자세한 내용은 Op 스크립트용 도움말 텍스트 구성을 참조하십시오.

Op 스크립트에서 명령줄 인수 사용

명령으로 op filename 로컬 운영 스크립트를 실행합니다. 명령줄 인수를 스크립트에 전달하려면 스크립트를 실행할 때 각 인수 이름과 값을 포함합니다.

참고:

스크립트가 인식하지 못하는 인수를 지정하면 스크립트는 인수를 무시합니다.

다음 섹션에서는 Python, SLAX 및 XSLT op 스크립트로 전달되는 명령줄 인수를 사용하는 방법에 대해 설명합니다.

Python Op 스크립트에서 인수를 사용하는 방법

Python op 스크립트는 표준 명령줄 파싱 라이브러리를 사용하여 명령행 인수를 처리하고 사용할 수 있습니다. 예를 들어 Python argparse 라이브러리를 사용하여 필요한 인수 및 옵션 인수를 쉽게 정의하고 기본값을 지정하며 스크립트에서 인수를 처리할 수 있습니다.

사용자가 표준 Python 라이브러리를 사용하여 명령줄 인수를 구문 분석할 수 있도록 인수가 Python op 스크립트로 전달되는 방식을 수정했습니다. Junos OS Release 21.2R1 및 Junos OS Evolved Release 21.2R1에서 시작하여 디바이스가 Python op 스크립트에 명령줄 인수를 전달하면 단일 하이픈(-)을 단일 문자 인수 이름에 접두사하고 2개의 하이픈(--)을 다중 문자 인수 이름에 접두사합니다. 이전 릴리스에서 디바이스는 모든 인수 이름에 단일 하이픈(-)을 접두사합니다. 운영 스크립트가 특정 릴리스에 대한 인수를 적절하게 처리하는지 확인해야 합니다.

다음 예제에서는 모듈을 argparse 사용하여 스크립트 인수를 처리합니다. 예제에서는 전역 arguments 사전을 정의하고 딕셔너리 키를 사용하여 파서에 대한 예상 인수를 정의합니다. 주니퍼는 지정된 릴리스의 인수를 적절하게 처리하는 2개의 예제 스크립트를 제공합니다.

Python Syntax(Junos OS 릴리스 21.2R1 이상)

Python Syntax(Junos OS 릴리스 21.1 이전 버전)

SLAX 및 XSLT Op 스크립트에서 인수를 사용하는 방법

SLAX 또는 XSLT op 스크립트에서 명령줄 인수를 사용하려면 다음을 수행해야 합니다.

  1. 각 인수에 대한 매개 변수 선언 포함
  2. 매개 변수 이름이 스크립트의 변수 선언 또는 arguments Junos OS 구성의 arguments 명령문에서 정의한 이름과 동일한지 확인합니다.

XSLT 구문

SLAX 구문

op 스크립트는 각 스크립트 인수에 대한 값을 해당 매개 변수에 할당하며, 이는 스크립트 전체에서 참조될 수 있습니다.

예: XSLT Op 스크립트에서 인수 선언

두 개의 인수를 지명 interface 하고 선언하십시오 protocol. ge-0/2/0.0 인터페이스와 인수에 대한 값으로 프로토콜을 inet 지정하여 스크립트를 실행합니다.

다음 예제에서는 XSLT 스크립트 또는 구성에서 인수를 선언하는 방법을 보여 줍니다.

Op 스크립트에서 인수 선언(script1)

구성에서 인수 선언

스크립트 또는 구성에서 인수를 선언하는 것 외에도 스크립트 인수를 참조하고 값에 액세스하려면 스크립트에서 해당 매개 변수를 선언해야 합니다.

매개 변수 선언

스크립트를 실행할 때 인수 이름 및 값을 제공합니다. 예를 들어:

스크립트 실행

예: Python Op 스크립트에서 인수 선언 및 사용

Python op 스크립트에 두 개의 인수를 선언 interface p 합니다. ge-0/2/0.0 인터페이스와 인수에 대한 값으로 프로토콜을 inet 지정하여 스크립트를 실행합니다. 릴리스를 기반으로 적절한 인수 처리 명령문을 선택합니다. 스크립트는 Junos OS 릴리스 21.2R1 이상과 호환되는 문장을 사용하며 이전 릴리스에서 인수를 처리하기 위한 설명을 설명합니다.

Op 스크립트에서 인수 선언(script1.py)

또는 Python op 스크립트에 딕셔너리 대신 arguments SLAX 및 XSLT 스크립트와 똑같이 구성에 인수를 포함시킬 수 있습니다.

CLI의 컨텍스트에 민감한 도움말에서 op 스크립트 인수를 보려면 명령을 실행합니다 op filename ? .

인수 표시

스크립트를 실행할 때 인수 이름 및 값을 제공합니다. 예를 들어:

스크립트 실행

릴리스 히스토리 테이블
릴리스
설명
21.2R1 및 21.2R1-EVO
Junos OS Release 21.2R1 및 Junos OS Evolved Release 21.2R1에서 시작하여 디바이스가 Python op 스크립트에 명령줄 인수를 전달하면 단일 하이픈(-)을 단일 문자 인수 이름에 접두사하고 2개의 하이픈(--)을 다중 문자 인수 이름에 접두사합니다.