Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam.
Muszę napisać prosty skrypt do logowania się na pewne urządzenie przy użyciu expecta.
Praktycznie na samym początku pojawił się problem.
Przy próbie użycia pętli while wywala błąd.
invalid command name while executing (while)
#!/usr/bin/expect
set licznik 10
while{$licznik-1 > 0}{
expect "Press 'Q' to break" {send "\n"}
}
Generalnie chodziło mi o to, aby wysyłać komendę "\n" czyli enter dopóki konsola zwracałaby "Press Q" itd (symulowanie przyciśnięcia parę razy klawisza enter)
W jednych skryptach i przykładach while występuje, tymczasem w tej bibliotece while`a nie widzę... Manual jest bardzo ubogi i ogranicza się praktycznie do prostych przykładów zastosowania.
Próbowałem do tego zaprząc bibliotekę php, bo tak byłoby mi najłatwiej, ale ta w ogóle jakby nie działa (nie jest w stanie nawet zalogować się na urządzenie, skrypt wisi)
EDIT Poradzilem sobie. Zamiast while nalezy uzyc exp_continue
np
expect { "Press 'Q' to break" {send "\n"
exp_continue}
}
Ostatnio edytowany przez Kpt. (2016-03-22 16:44:13)
Offline