Expect Tool 사용하기
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