5.12. Expect-5.45.4

Expect 패키지에는 다른 대화형 프로그램과 스크립트 대화를 수행하기 위한 프로그램이 포함되어 있다.

예상 빌드 시간: 0.1 SBU
필요 디스크 공간: 4.0 MB

5.12.1. Expect 설치

먼저 Expect의 configure 스크립트가 호스트 시스템에서 찾을 수 있는 /usr/local/bin/stty 대신 /bin/stty를 사용하도록 강제 설정한다. 이를 통해 테스트 스위트 도구는 툴체인의 최종 빌드에도 그대로 사용할 수 있다:

cp -v configure{,.orig}
sed 's:/usr/local/bin:/bin:' configure.orig > configure

이제 Expect 컴파일을 준비한다:

./configure --prefix=/tools       \
            --with-tcl=/tools/lib \
            --with-tclinclude=/tools/include

Configure 옵션들의 의미:

--with-tcl=/tools/lib

이 옵션을 통해 configure 스크립트가 호스트 시스템에서 기존 것을 찾는 대신 임시 도구 위치에서 Tcl을 찾을 수 있다.

--with-tclinclude=/tools/include

Expect가 Tcl의 내부 헤더를 어디서 찾을지 확실하게 지정한다. 이 옵션을 사용하면 Tcl의 헤더 위치를 자동으로 검색하지 않으므로 configure에 실패하는 상황을 방지할 수 있다.

패키지를 빌드한다:

make

이제 컴파일이 끝났다. 앞에서 논의한 바와 같이, 이 장의 임시 도구에 대해 테스트 스위트를 반드시 실행해야 하는 것은 아니다. 그래도 테스트 스위트를 실행하려면 다음 명령을 실행하라:

make test

우리 통제 하에 있지 않은 호스트 상황에서는 Expect 테스트 스위트가 실패할 수 있음을 참고하라. 따라서 이 테스트 스위트가 실패하더라도 놀랄 일이 아니며 중요하지도 않다.

패키지를 설치한다:

make SCRIPTS="" install

Make 매개 변수의 의미:

SCRIPTS=""

필요하지 않은 추가적인 Expect 스크립트들의 설치를 방지한다.

5.12.2. Expect의 내용

설치된 프로그램들: expect
설치된 라이브러리: libexpect-5.45.so

요약

expect

스크립트를 통해 다른 대화형 프로그램과 통신

libexpect-5.45.so

Expect를 Tcl 확장으로, 또는 C, C++로부터 직접(Tcl없이) 사용할 수 있는 함수들을 포함