LINUX.ORG.RU

вопрос по expect


0

0

имеется скрипт

#!/usr/bin/expect -f 
spawn sftp xxx.xxx.xxx.xxx 
expect "password:" { send "pass\n"} 
expect "sftp>" {send "cd backup/\n"} 
expect "sftp>" {send "get *\n"} 
expect "sftp>" {send "exit\n"}

авторизуется, начинает забирать файлы, но после некоторого времени заканчивает свою работу, не завершив передачу.

в чем проблема? 

>expect "sftp>" {send "get *\n"}

При работе команды "get *" в output_e может мелькать слово sftp, поэтому срабатывает

>expect "sftp>" {send "exit\n"}

и скрипт прекращает работу.

sdio ★★★★★
()
Ответ на: комментарий от george_root

Где-то так:

#!/usr/bin/expect -f 
spawn sftp -b batchfile xxx.xxx.xxx.xxx 
expect "password:" { send "pass\n"} 
interact

----------------------------------------

$ cat batchfile
cd backup
get *
exit

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.