Servus,
ich will mir eine txt datei von einem ftp server hohlen und hab mir dafür ein autoexpect script generiert...
die datei wird geholt, aber dann bleibt er hängen... d.h. es steht dann in der console "ftp> " und es ist auch noch eine eingabe möglich, aber er reagiert nicht mehr auf befehle... ich komm nur noch mit Strg + C raus...
das script soll sich aber automatisch ausloggen mit "exit"... hoffentlich kann mir jemand helfen...
Gruß Stefan
Hier der Code:
ich will mir eine txt datei von einem ftp server hohlen und hab mir dafür ein autoexpect script generiert...
die datei wird geholt, aber dann bleibt er hängen... d.h. es steht dann in der console "ftp> " und es ist auch noch eine eingabe möglich, aber er reagiert nicht mehr auf befehle... ich komm nur noch mit Strg + C raus...
das script soll sich aber automatisch ausloggen mit "exit"... hoffentlich kann mir jemand helfen...
Gruß Stefan
Hier der Code:
Code:
#!/usr/bin/expect -f
set force_conservative 1 ;# set to 1 to force conservative mode even if
;# script wasn't run conservatively originally
if {$force_conservative} {
set send_slow {1 .1}
proc send {ignore arg} {
sleep .1
exp_send -s -- $arg
}
}
set timeout -1
spawn ftp 10.0.2.50
match_max 100000
expect -exact "Connected to 10.0.2.50.\r
220- This system is monitored and evidence of criminal activity may be \r
220- reported to law enforcement officials.\r
220-\r
220-\r
220 HiPath FTP server ready\r
Name (10.0.2.50:a258): "
send -- "stefan\r"
expect -exact "stefan\r
331 Password required for stefan.\r
Password:"
send -- "xxx\r"
expect -exact "\r
230 User stefan logged in.\r
Remote system type is UNIX.\r
Using binary mode to transfer files.\r
ftp> "
send -- "get ftp.txt\r"
expect -exact "get ftp.txt\r\r
local: ftp.txt remote: ftp.txt\r
500 'EPSV': command not understood.\r
227 Entering Passive Mode (10,0,2,50,7,52)\r
150 Opening BINARY mode data connection for ftp.txt (538 bytes).\r
\r 0% | | 0 0.00 KB/s --:-- ET
A\r100% |*************************************| 538 2.44 MB/s 00:00 E
TA\r
226 Transfer complete.\r
538 bytes received in 00:00 (13.46 KB/s)\r
ftp> "
send -- "exit\r"
expect eof