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 [http://nvl.nist.gov/pub/nistpubs/sp958-lide/cntsp958.htm] of Expect as one of the 100 most important publications of NIST's [http://www.nist.gov] first century. This package is part of the [ActiveTcl] Batteries Included distribution on unix and an up-to-date Windows version is available commercially [http://www.activestate.com/Products/Expect/]. [ActiveState] maintains online copies of documentation at [http://www.tcl.tk/man/expect5.31/index.html]. There's an expect FAQ here: http://expect.nist.gov/FAQ.html There's a book called [BOOK Exploring Expect] [CL] keeps a bit of supplementary information on Expect at [http://phaseit.net/claird/comp.lang.tcl/expect.html]. [Expect External Resources] gives pointers some more wiki-external Expect material. ---- '''Wiki-Local Expect Resources''': [Expect FAQ] [Expect Hints and Tips] [Expect Examples] [Expect Tutorials] [Debugging Expect programs] [Remote input-output with Expect] [Secure expect] [Expect for languages other than Tcl] [Most programmers don't know what Expect can do for them] [I am new to Expect] [Event-oriented Expect] [Expect vs. Tcl] [Network programming with Expect] [Expect and Tclkit] "[Expect and choice]" [overlay] Simplify the [handling of ANSI terminals using Expect] or [send special characters] [Stubsification of Expect] ---- '''Expect Articles''' Don explains how far from trivial pty management is, and other lessons, in his memoir [http://expect.nist.gov/doc/seven-years.html] on Expect's first seven years. "Expect--the only language you need" [http://www-106.ibm.com/developerworks/library/l-sc1/?n-l-4112] "Expect: The Firefighter's Friend" [http://www.samag.com/documents/s=7237/sam0207a/0207a.htm] "Unknown Expect" [http://www.samag.com/documents/s=9035/sam0402web1/] "Test-driven development, Expect, and Systems Administration" [http://www.samag.com/documents/s=7824/sam0312web2/sam0312web2.htm] ---- [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. ---- [[ [Category Package] | [Category Expect] | [Category Command] ]]