Baigais Janka Ierakstīts Decembris 4, 2012 Share Ierakstīts Decembris 4, 2012 (labots) EDIT2: OK, prambļems atrisināts. match_max ieliku lielāku, tobiš buferi. 2k simboli tik pēc gosta ir. Bet, jebkurā gadījumā, nav skaidrs - kāda vella pēc tikai dažreiz viņš nokoda to sākumu, nevis vienmēr. Direktorijs, loģiski, visu laiku tika lasīts viens un tas pats. ////////// Vajag vienkāršu lietu - nolasīt no ftp failu listi (uz taimoutu un eof ir vienkārši kļūdas paziņojums un exit): send "ls\n" expect { "\r\nftp> " { parray expect_out } timeout { ExitExpectTimeout } eof { catch wait result; ExitExpectEof [lindex $result 3] } } Kurbulējot to skriptu - vienreiz OK, ottreiz OK, bet tad uzreizi tas saturs iekš expect_out(buffer) ir bez sākuma, tobiš, sākas, tā sacīt, pusvārdā un līdz beigām. It kā pēc send viņš kādu mirkli būtu ignorējis ienākošos datus un tad tik sācis šķūrēt buferī. Uz ekrāna redzams, ka no ftp servera dati ir OK atnākušiю No kādām 10 reizēm, kādas trīs šitāda šļura notiekās. Tur kauču kas varētu būt darāms - nezi, ar buferiem, flušošanu vai vēl nezi ko? EDIT: Njā, murgs... Domāju, varbūt iepriekš ko daru ne tā, un tas ietekmē, bet figu - galīgi "tukšs" skripts tāpat uzvedās #!/usr/bin/env expect set ftpServer "10.1.1.1" set ftpUser "ftpuser" set ftpPassword "ftppassword" set ftpDir "tempdir" set ftpPrompt "\r\nftp> " spawn ftp $ftpServer expect { "Name " { send "$ftpUser\n" exp_continue } "assword:" { send "$ftpPassword\n" exp_continue } "$ftpPrompt" {} } send "cd \"$ftpDir\"\n" expect "$ftpPrompt" send "ls\n" expect { "$ftpPrompt" { parray expect_out } } send "quit\n" Labots Decembris 4, 2012 - Baigais Janka Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!