Top 1,000 Features Creators Events Podcasts Extensions Blog Explorer CSV Download


< >

Expect is an open source programming language created in 1990.

#268on PLDB 34Years Old

Expect, an extension to the Tcl scripting language written by Don Libes, is a program to automate interactions with programs that expose a text terminal interface. Expect was originally written in 1990 for Unix systems, but has since become available for Microsoft Windows and other systems.. Read more on Wikipedia...

Example from the web:
# Assume $remote_server, $my_user_id, $my_password, and $my_command were read in earlier # in the script. # Open a telnet session to a remote server, and wait for a username prompt. spawn telnet $remote_server expect "username:" # Send the username, and then wait for a password prompt. send "$my_user_id\r" expect "password:" # Send the password, and then wait for a shell prompt. send "$my_password\r" expect "%" # Send the prebuilt command, and then wait for another shell prompt. send "$my_command\r" expect "%" # Capture the results of the command into a variable. This can be displayed, or written to disk. set results $expect_out(buffer) # Exit the telnet session, and wait for a special end-of-file character. send "exit\r" expect eof
Example from Wikipedia:
#timeout is a predefined variable in expect which by default is set to 10 sec #spawn_id is another default variable in expect. #It is good practice to close spawn_id handle created by spawn command set timeout 60 spawn ssh $user@machine while {1} { expect { eof {break} "The authenticity of host" {send "yes\r"} "password:" {send "$password\r"} "*\]" {send "exit\r"} } } wait close $spawn_id

Language features

Feature Supported Example Token
# A comment
Line Comments
# A comment
Semantic Indentation X

View source

- Build the next great programming language · About · Resources · Acknowledgements · Part of the World Wide Scroll