Expect is known primarily as an indispensable application for system administrators. Amazingly enough, it is, at its heart, Just Another Tcl Extension (JATE).
People use Expect to automate interaction with non-GUI (and typically non-cursor-controlled, even though a persevering Expect programmer can tackle them, too) applications that prompt the user for input.
Examples of commands that often appear in Expect scripts are the Unix passwd, ftp, telnet, and command-line shells. Expect is the natural answer for those who want to automate password changes, or periodically update FTP sites, or check the statuses of a collection of remote systems by logging in.
External Resources:
http://expect.nist.gov/ is the home Web site for Expect. It supplies sources and considerable history, background, and instruction. It does fail to mention, though, recognition [L1 ] of Expect as one of the 100 most important publications of NIST's [L2 ] first century.
This package is part of the ActiveTcl Batteries Included distribution on unix and an up-to-date Windows version is available commercially [L3 ].
ActiveState maintains online copies of documentation at [L4 ].
There's an expect FAQ here: http://expect.nist.gov/FAQ.html
There's a book called BOOK Exploring Expect to which most people refer when asked questions about Expect.
CL keeps a bit of supplementary information on Expect at [L5 ].
Expect External Resources gives pointers some more wiki-external Expect material.
Wiki-Local Expect Resources:
Expect Articles
in his memoir [L6 ] on Expect's first seven years.
LV Note that expect is also a command that is a part of the expect extension; see http://www.tcl.tk/man/expect5.31/expect.1.html for the doc.