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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-03-22 08:51:37

  Kpt. - Użytkownik

Kpt.
Użytkownik
Skąd: Wielkopolska
Zarejestrowany: 2005-11-10

Skrypt expect

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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.010 seconds, 13 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00008 SET NAMES latin2
0.00125 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.189.182.96' WHERE u.id=1
0.00086 UPDATE punbb_online SET logged=1715976091 WHERE ident='18.189.182.96'
0.00053 SELECT * FROM punbb_online WHERE logged<1715975791
0.00057 DELETE FROM punbb_online WHERE ident='185.191.171.4'
0.00071 DELETE FROM punbb_online WHERE ident='3.147.85.175'
0.00072 SELECT topic_id FROM punbb_posts WHERE id=299578
0.00090 SELECT id FROM punbb_posts WHERE topic_id=28422 ORDER BY posted
0.00057 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28422 AND t.moved_to IS NULL
0.00010 SELECT search_for, replace_with FROM punbb_censoring
0.00098 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28422 ORDER BY p.id LIMIT 0,25
0.00092 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28422
Total query time: 0.00829 s