Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
What is Expect / a sample

Posted by admin (Graham Ellis), 7 October 2002
Expect is an extension to Tcl which allows you to automate processes such as telnet and FTP by "mimicing" the user's input in a terminal window.  You use the spawn command to spawn a telnet (or FTP, or whatever) process, you use send (or exp_send if you're also using Tk) to send some text as if it was typed, and then you wait for a specific input pattern to come back via the expect command.

Here's an example that does a remote ls listing; enter host computer name into an entry box, click on the "go" button, and you get a listing of all files in the trainee home directory on that system.


proc getfiles {host} {
       spawn telnet
       log_user 0
       expect "telnet>"
       exp_send "open $host\r"
       expect {
               "login: " { }
               "Unable" {return "ERROR"}
       exp_send "trainee\r"
       expect "sword: "
       exp_send "abc123\r"
       expect "\$ "
       exp_send "ls -1\r"
       expect "\$ "
       set got $expect_out(buffer)
       exp_send "exit"
       return $got

set hostname "computer name"
entry .host -textvariable hostname

button .do -text go -command {
       set there [getfiles $hostname]
       .what delete 1.0 end
       .what insert end $there

text .what -width 30 -height 40
pack .host .do .what

This page is a thread posted to the opentalk forum at and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2022: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: • WEB: • SKYPE: wellho