URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7745
[ Назад ]

Исходное сообщение
"Помогите в expect"

Отправлено artemn , 05-Дек-08 02:58 
Доброго времени суток.
Помогите пожалуйста разобраться с некоторыми вопросами в expect.

Во первых мне непонятно, expect должен передавать управление следующей команде в том случае, когда обнаружает что строка соответствует его условию.

Вот сам скрипт:
spawn telnet 192.168.1.1
expect "zzz"
send "1234\r"
send "exit\r"
expect eof

А вот его выполнение:
# ./settings.sh
spawn telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.

Password:

Welcome !!!

exit
P-330W EE> Connection closed by foreign host.
#


При выполнении телнет команды у меня и в помине нет zzz, но почему-то после короткого ожидания expect дает возможность выполняться дальше команде send "1234\r".

Вот и вопрос как сделать так, чтобы expect ждал столько сколько нужно, а не забивал по таймауту.

---

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


Содержание

Сообщения в этом обсуждении
"Помогите в expect"
Отправлено Vladyslav Lazarenko , 09-Дек-08 20:37 
Privet. U menya net Free BSD, no v principe tvoy vizov "expect" stranniy. Skoree vsego programma ne rabotaet i pishet error, no v telnet session, tak kak ti sdelal spawn. Poprobuy tak:

# expect -c "expect EXPECTED_STRING_HERE"

Naprimer (ya v command line vvodil s konsoli variants):

# expect -c "expect aaa"
dd
au  
ale
aaa
#

>[оверквотинг удален]
>"1234\r".
>
>Вот и вопрос как сделать так, чтобы expect ждал столько сколько нужно,
>а не забивал по таймауту.
>
>---
>
>Было бы просто замечательно, если бы ктонибудь подкинул по нему мануал на
>русском. Вероятно тогда все мои вопросы были бы решены. На английском
>покурил и так ничего не понял.