一、概述
我們通過Shell可以實作簡單的控制流功能,如:循環、判斷等。但是對于需要互動的場合則必須通過人工來幹預,有時候我們可能會需要實作和互動程式如telnet伺服器等進行互動的功能。而expect就使用來實作這種功能的工具。
expect是一個免費的程式設計工具語言,用來實作自動和互動式任務進行通信,而無需人的幹預。expect是不斷發展的,随着時間的流逝,其功能越來越強大,已經成為系統管理者的的一個強大助手。expect需要Tcl程式設計語言的支援,要在系統上運作expect必須首先安裝Tcl。
二、expect的安裝
expect是在Tcl基礎上建立起來的,是以在安裝expect前我們應該先安裝Tcl。
(一)Tcl 安裝
首頁: http://www.tcl.tk
下載下傳位址: http://www.tcl.tk/software/tcltk/downloadnow84.tml
1.下載下傳源碼包:tcl8.4.20-src.tar.gz
2.解壓縮源碼包:tar -zvxf tcl8.4.20-src.tar.gz
3.安裝配置:
cd tcl8.4.20/unix
./configure --prefix=/usr/tcl --enable-shared
make
make install
注意:
1、安裝完畢以後,進入tcl源代碼的根目錄,把子目錄unix下面的tclUnixPort.h copy到子目錄generic中。
2、暫時不要删除tcl源代碼,因為expect的安裝過程還需要用。
(二)expect 安裝 (需Tcl的庫)
1.下載下傳源碼包:expect5.45.3.tar.gz
下載下傳位址:https://sourceforge.net/projects/expect/files/
2.解壓縮源碼包:tar -zvxf expect5.45.3.tar.gz
3.安裝配置
cd expect5.45
./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.20/generic
make
make install
ln -s /usr/tcl/bin/expect /usr/bin/expect