ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Expect Tool 사용하기
    case Computer : 2009. 9. 10. 19:08

    S/W 종료를 하기 위하여 자동종료 스크립트를 만들다가
    패스워드 넣는 부분은 문자 입력이 안되어서 찾던 중에 Expect Tool 을 알게되어습니다.
    사용되는 부분이 많은것 같은데 아직 자세하게 알아보진 못했습니다.
    다만 간단하게 제가 사용한 부분말 설명을 드리고자 합니다.
    응용하시려면 좀더 확인을 해보셔야 할것 같습니다.
     

    [ 구축 환경 ]
       시 스 템 : FJSV,GPUZC-M
       운영체제 : SunOS 5.9
     

    [ 패키지 다운로드 ]
       http://www.sunfreeware.com 사이트에서 해당 패키지 다운로드
     
       expect-5.43.0-sol9-sparc-local.gz
       tcl-8.5.0-sol9-sparc-local.gz
       libgcc-3.4.6-sol9-sparc-local.gz
     
    [ 패키지 설치 ]
       다운로드 받은 패키지를 서버로 업로드 시켜서 패키지 설치를 한다.
     
       # gzip -d *.gz
       # pkgadd -d expect-5.43.0-sol9-sparc-local
       # pkgadd -d tcl-8.5.0-sol9-sparc-local
       # pkgadd -d libgcc-3.4.6-sol9-sparc-local
     
    [ 환경파일 수정 ]
       # vi .profile
          MANPATH=/usr/man:/usr/bin/man:/usr/local/man:/usr/local/ssl/ma:.
          LD_LIBRARY_PATH=/usr/lib:/usr/share/lib:/usr/local/lib:/usr/local/ssl/lib:/etc/lib:.
          export MANPATH LD_LIBRARY_PATH
     
    [ Expect 를 이용한 쉘 스크립트 예제 ]
     
       # vi imsi.sh

          #!/usr/local/bin/expect --                         ;  expect tool 사용 선언
          spawn /usr/local/tos/bin/fmodule off         ; 명령어 실행
          expect ": "                                                ; : 문자가 나왔을때 아래 send 문이 입력 된다.
          send "/test.cert\n"                                  ; 입력되는 문자
          expect "Enter Password : "                        ; Enter Password :  문자가 나왔을때 아래 send 문이 입력된다.
          send "test123.\n"                                     ; 입력되는 문자
          interact                                                    ; expect 를 벗어나서 유저에게 권한이 넘겨준다.
     
     
    [ 일반적인 자동 입력 스크립트 예제 ]
    아래 내용은 자동으로 ftp 접속 로그인 하여 파일을 가져오는 스크립트 입니다.
       # vi ftp.sh
          #!/usr/bin/ksh
          ftp -in 100.100.100.1 <<END
          user test test123
          binary
          mget *
          quit
          END



    링크 : 서버관리 마스터
    반응형

    댓글

Designed by Tistory.