스크립트를 찾고 있어요

스크립트를 찾고 있어요

KSH 스크립트를 KSH 스크립트라고 부르고 싶습니다.

스크립트 1은 다음을 수행합니다.

  1. 데이터베이스 서버 목록을 반복합니다.
  2. 쿼리 실행
  3. 각 데이터베이스 서버에 대한 쿼리 출력을 txt 파일에 추가합니다.

스크립트 2는 다음을 수행합니다.

  1. 텍스트 파일의 각 줄을 표시하는 HTML 파일을 만듭니다.

  2. 쿼리 결과가 포함된 HTML 파일을 영수증 목록으로 이메일로 보내기

    사용법: KSH backup_report.ksh qry_rslt_textfile.txt
    (txt 파일에는 각 서버의 쿼리 결과가 포함되어 있음)

다음 구문이 정확합니까?

#! /bin/ksh
< Start of Script 1 Code>
.
.
.
< End of Script 1 Code>

< Start of Script 2 Code - Call Script 2>
/sybase/dba/backup_report.ksh qry_rslt_textfile.txt
<End of Script 2 Code>

답변1

예 - 스크립트에 실행 권한이 있다고 가정하면 원하는 작업이 수행됩니다. 실제로는 두 번째 스크립트를 첫 번째 스크립트의 마지막 명령으로 호출하지만 이로 인해 걱정할 필요가 없는 기술적인 문제가 발생합니다.

답변2

다른 프로그램(또는 스크립트)에서 스크립트를 호출하려면 다음 사항에 유의해야 합니다.

  1. 스크립트를 찾아야 합니다
  2. 스크립트에는 실행 권한이 있어야 합니다.
  3. 스크립트에는 해석기에 대한 힌트가 포함되어야 합니다.

스크립트를 찾고 있어요

확인하다. 스크립트의 전체 경로를 포함했습니다. 또 다른 접근 방식은 스크립트 1 상단의 PATH 변수에 /sybase/dba를 포함시키는 것입니다.

PATH=/sybase/dba:$PATH

올바른 권한

이 스크립트를 실행하려면 스크립트를 실행해야 할 수 있는 모든 사용자 클래스의 실행 권한이 필요합니다.

대부분의 통역사의 경우 실행 권한만으로는 충분하지 않습니다. 선택한 통역사도 다음을 수행할 수 있어야 합니다.읽다스크립트의 코드입니다.

$ ls -l  /sybase/dba/backup_report.ksh
-rwxr-x---   1 Henk     sys           805 Apr  3 07:00 /sybase/dba/backup_report.ksh

올바른 통역사

스크립트는 직접 실행되지 않습니다. 커널에는 어떤 인터프리터를 사용할지 알려주는 힌트가 필요합니다. 이는 #!(해시 스틱) 첫 번째 줄에 표시하고 그 뒤에 통역사의 경로를 표시합니다.

#! /bin/ksh

자신이 살고 있는 곳을 확인 ksh하고 올바른 경로를 연결하세요.

최종 메모

ksh또한 현재 ksh암시적 버전이 ksh93아직 개발 중이며 대부분의 플랫폼에서 사용할 수 있는지 확인하세요 .

관련 정보