case Computer :

Expect Tool 사용하기

거곰 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



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