From: Chen leonard-a. <lia...@mo...> - 2002-03-15 01:33:50
|
Hi, When I try to automate 'ftp' under WINNT(CYGWIN_NT-4.0), I found it acts different from in Linux. Expect is not able to read any thing from 'ftp' in Cygwin. So, why? (the following is the script and logs.) BRs, Liang #---------------------------------- Here's the perl script: #---------------------------------- use Expect; # Optional debugging, explained later. $Expect::Debug=1; $Expect::Exp_Internal=1; $Expect::Log_Stdout=1; # On by default. # Start the process. $ftp_cmd="ftp"; ($sh = Expect->spawn($ftp_cmd)) || die "Couldn't spawn $ftp_cmd, $!"; # wait for anything! $sh->expect(undef ); #---------------------------------- Here's the log in Cygwin: #---------------------------------- $ uname CYGWIN_NT-4.0 God@LIANGCHEN ~/Perl/Tutorial $ which ftp /cygdrive/c/WINNT/system32/ftp God@LIANGCHEN ~/Perl/Tutorial $ perl -w ftp_expect4.pl Spawned 'ftp' spawn id(3) Pid: 413 Tty: /dev/tty0 Expect::spawn('Expect', 'ftp') called at ftp_expect4.pl line 21 Starting EXPECT pattern matching... Expect::expect('Expect=GLOB(0xa213184)', undef) called at ftp_expect4.pl line 24 spawn id(3): beginning expect. Timeout: unlimited seconds. Current time: Fri Mar 15 09:27:10 2002 spawn id(3): list of patterns: Waiting for new data (unlimited seconds)... #---------------------------------- Here's the log in Linux: #---------------------------------- Spawned 'ftp' spawn id(3) Pid: 1729 Tty: /dev/pts/1 Expect::spawn('Expect', 'ftp') called at ftp_expect4.pl line 21 Starting EXPECT pattern matching... Expect::expect('Expect=GLOB(0x82e3320)', undef) called at ftp_expect4.pl line 24 spawn id(3): beginning expect. Timeout: unlimited seconds. Current time: Thu Mar 14 20:28:06 2002 spawn id(3): list of patterns: Waiting for new data (unlimited seconds)... spawn id(3): new data. spawn id(3): read 5 byte(s). ftp> spawn id(3): Does `ftp> ' match: Waiting for new data (unlimited seconds)... |