Expect is a Tcl extension that lets you automate interactions with interactive programs such as Telnet and FTP clients. Start with the main Expect man page.

expect - programmed dialogue with interactive programs, Version 5.
expectk - Expect with Tk support.
autoexpect - generate an Expect script from watching a session.
cryptdir - encrypt/decrypt all files in a directory.
decryptdir - encrypt/decrypt all files in a directory.
dislocate - disconnect and reconnect processes.
kibitz - allow two people to interact with one shell.
libexpect - programmed dialogue with interactive programs - C functions.
mkpasswd - generate new password, optionally apply it to a user.
passmass - change password on multiple machines.
tknewsbiff - pop up a window when news appears.
unbuffer - unbuffer output.
xkibitz - allow multiple people to interact in an xterm.

Scriptics Manual Collection