Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

예: Op 스크립트를 사용하여 파일 검색

이 샘플 스크립트는 Junos OS 실행하는 디바이스의 파일을 검색하여 주어진 정규 표현식과 일치하는 줄을 검색합니다. 이 예는 op 스크립트에서 템플릿을 사용합니다jcs:grep.

요구 사항

이 예는 Junos OS 실행하는 디바이스를 사용합니다.

개요 및 Op 스크립트

템플릿은 jcs:grep 정규식과 일치하는 줄을 위해 ASCII 파일을 검색합니다. 템플릿은 junos.xsl 가져오기 파일에 있으며, 이는 Junos OS 실행하는 모든 스위치, 라우터 및 보안 디바이스에서 사용할 수 있는 표준 Junos OS 설치에 포함되어 있습니다. 스크립트에서 템플릿을 jcs:grep 사용하려면 junos.xsl 파일을 스크립트로 가져오고 접두사를 URI http://xml.juniper.net/junos/commit-scripts/1.0 으로 식별된 네임스페이스에 매핑 jcs 해야 합니다.

이 예에서 템플릿에 jcs:grep 필요한 모든 값은 전역 매개 변수로 정의됩니다. 매개 변수 값은 명령줄 인수로 스크립트에 전달됩니다. 다음 스크립트는 입력 파일 경로 및 pattern정규 표현식의 값을 저장하는 두 개의 매개 변수 filename 와 을(를) 정의합니다. 스크립트를 실행할 때 인자 중 하나를 생략하면 스크립트가 오류를 생성하고 실행을 중단합니다. 그렇지 않으면 스크립트가 템플릿을 jcs:grep 호출하고 제공된 인수에 전달됩니다.

정규 표현식에 구문 오류가 포함된 경우 템플릿이 파일의 jcs:grep 각 줄에 대한 메시지를 생성합니다error: regex error. 정규 표현식 구문이 유효한 경우, 템플릿이 입력 파일을 구문 분석합니다. 각 일치에 대해 템플릿은 결과 트리에 <match><output> 하위 태그를 <input> 포함하는 요소를 추가합니다. 템플릿은 하위 요소에 일치하는 문자열을 <output> 작성하고 해당 일치 선을 하위 요소에 <input> 기록합니다.

SLAX 스크립트에서 운영자는 := 템플릿 호출 결과를 jcs:grep 임시 변수에 복사하고 해당 변수에서 함수를 node-set 실행합니다. 운영자는 := 스크립트가 콘텐츠에 results 액세스할 수 있도록 변수가 결과 트리 조각이 아닌 노드 세트인지 확인합니다. XSLT 스크립트는 명시적으로 동등한 단계를 호출합니다. 그런 다음 스크립트는 모든 결과 입력 요소를 루프하고 각 일치 항목을 인쇄합니다.

XSLT 구문

SLAX 구문

구성

절차

단계별 절차

스크립트를 다운로드, 활성화, 실행하려면 다음 단계를 따르십시오.

  1. XSLT 또는 SLAX 스크립트를 텍스트 파일로 복사하여 grep.xsl 또는 grep.slax 의 이름을 적절히 지정하고 디바이스의 /var/db/scripts/op/ directory로 다운로드합니다.

  2. 구성 모드에서 [edit system scripts op] 계층 수준에서 문을 포함하고 file 적절한 경우 grep.xsl 또는 grep.slax를 포함합니다.

  3. commit and-quit 명령을 실행하여 구성을 커밋하고 운영 모드로 돌아갑니다.

  4. 운영 모드 명령을 실행하여 op 스크립트를 op grep filename filename pattern pattern 실행합니다.

확인

스크립트 인수 확인

목적

인수 이름과 설명이 명령줄 인터페이스(CLI) 도움말에 나타나는지 확인합니다.

작업

op grep ? 운영 모드 명령을 실행합니다. CLI는 스크립트의 전역 변수 arguments 내 정의를 기반으로 스크립트 인수에 대한 가능한 완료를 나열합니다.

Op 스크립트 실행 확인

목적

스크립트가 예상대로 작동하는지 확인합니다.

작업

명령을 실행 op grep 하지만 파일 이름이나 regex 패턴을 제공하지 않으면 스크립트가 오류 메시지를 발행하고 실행을 중단합니다. 예를 들어:

명령을 실행 op grep filename filename pattern pattern 하면 스크립트는 정규식과 일치하는 입력 파일의 모든 줄을 나열합니다.