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.
FTP app in Wish

Posted by neo (The Architect), 1 February 2005
This code here logs me into the ftp server but I am unable to execute any commands after that. The command Code:
exp_send "ls -l\r"
is not show on the screen and there is no more output after that either (even though I waited a long time).
    spawn ftp;
    set ftpPid $spawn_id;
    puts stdout "id= $ftpPid"
    expect -re ".*ftp> "
    exp_send -i $ftpPid "open $McName\r";
    expect {
       -re "Connected .*Name .*" {}
       -re "$McName:.*" {return -1}

    exp_send -i $ftpPid "$UserName\r"
    expect "sword:"
    exp_send -i $ftpPid "$UserPass\r"
    expect -re ".*ftp> "
    exp_send "ls -l\r"

Any idea what is wrong with this?

Posted by admin (Graham Ellis), 1 February 2005
1. Have you tried adding another expect for "ftp> " at the end of your script; it's possible that you're sending the ls but not waiting for any response from it .... I don't know where your program goes after this, but it's a common mistake to send a command then exit leaving the child process (ftp in your case) high and dry.

2. You should never end an expected regular expression with .* as you're likely to get inconsistent results in use.   Sometimes it will match the complete response string and at other times just a part of it - it totally depends on how busy your systems are and what you swapping algorithms are doing at the time, and bugs based on this are nasty to find.   I don't think it's the cause of the current problem, but I feel that I must warn you about it.

Posted by neo (The Architect), 1 February 2005
Thanks, Will try and let you know.

How do i match those expressions then?

Posted by neo (The Architect), 1 February 2005
Ok that worked fine. I next tried a exp_send "bye\r" command and exited by my script didn't
( i tried waiting for "221 Goodbye\.\r" )

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