AIX에 스크립트를 설치하려면 script 명령을 사용하십시오.

AIX에 스크립트를 설치하려면 script 명령을 사용하십시오.

내 소프트웨어에 대한 설치 스크립트가 있고 Linux 및 AIX에서 실행하려면 이 스크립트가 필요합니다.

myinstaller.kshLinux에서는 다음과 같은 래퍼를 사용할 수 있습니다 .

#!/usr/bin/ksh
script -c myrealinstaller.ksh /var/log/myinstaller.log

하지만 AIX에서는script -c옵션 은 지원되지 않습니다.

myrealinstaller.ksh스크립트로 생성된 분기된 셸에서 내 프로그램을 어떻게 실행합니까 ?

답변1

운영 체제를 감지하도록 래퍼 스크립트를 향상할 수 있습니다. Linux에서 실행 중인 경우에는 를 실행하고 script -c ..., AIX에서 실행 중인 경우에는 설치 프로그램을 실행한 다음 종료하는 재정의 프로필을 script-shell에 제공하세요.

$ cat myinstaller.ksh
#!/usr/bin/ksh

case $(uname -s) in
  (Linux)
        script -c myrealinstaller.ksh /var/log/myinstaller.log
        ;;
  (AIX)
        printf "ENV= ./myrealinstaller.ksh\nexit\n" > ./installer.profile
        trap 'rm -f ./installer.profile' INT
        ENV=./installer.profile script -q ./var/log/myinstaller.log
        rm ./installer.profile
        ;;
esac

로컬에서 테스트하기 위해 스크립트와 로그의 경로를 조정했습니다. 관련된 다른 요소는 다음과 같습니다.

  • ENV호출할 때 재정의되는 구성 파일을 가리키도록 설정합니다 .script
  • 분위기를 좀 더 조용하게 script만들기 위해 전화를 걸어보세요-q
  • 중요한,설정되지 않음실제 설치 프로그램을 호출하는 동안 ENV를 사용하므로 무한 루프가 발생하지 않습니다.
  • 설치 프로그램이 완료된 후 덮어쓴 프로필이 즉시 종료되도록 지시합니다.

myrealinstaller.ksh의 예는 다음과 같습니다.

#!/bin/ksh
echo Hi, I am the real installer

./var/log/myinstaller.log의 내용은 다음과 같습니다.

Script command is started on Thu Mar 15 09:34:04 2018.
Hi, I am the real installer


Script command is complete on Thu Mar 15 09:34:04 2018.

관련 정보