You can use expect, which comes with the tcl/tk package, to script ftp, telnet, or any other command-line client. Expect allows to write scripts such as :

#!/usr/bin/expect --
# rlogin-cwd - rlogin but with same directory
#
# You can extend this idea to save any arbitrary information across rlogin
# Don Libes -  Oct 17, 1991.
 
set prompt "(%|#|\\$) $"                ;# default prompt
catch {set prompt $env(EXPECT_PROMPT)}
 
eval spawn rlogin $argv
set timeout 60
expect eof exit timeout {send_user "timed out\n"; exit} -re $prompt
send "cd [pwd]\r"
interact 

There is even autoexpect which generates a script from watching a session.

Back to home page