is a program that “talks” to other interactive programs according to a
script. Following the script, Expect knows what can be expected from
a program and what the correct response should be. An interpreted
language provides branching and high-level control structures to direct
the dialogue. In addition, the user can take control and interact
directly when desired, afterward returning control to the script.
Expect is based on TCL.
is a mixture of Expect and Tk. It behaves just like Expect and Tk’s
wish. Expect can also be used directly in C or C++ (that is, without
Tcl). See libexpect(3).
name “Expect” comes from the idea of send/expect sequences popularized
by uucp, kermit and other modem control programs. However unlike
uucp, Expect is generalized so that it can be run as a user-level command
with any program and task in mind. Expect can actually talk to several
programs at the same time.
general, Expect is useful for running any program which requires interaction
between the program and the user. All that is necessary is that the
interaction can be characterized programmatically. Expect can also
give the user back control (without halting the program being controlled)
if desired. Similarly, the user can return control to the script
at any time.
is excerpted from the O'Reilly book "Exploring Expect" by Don Libes, and
can also be found in the manpage on many UNIX platforms.