Re: почему тормозит скрипт expect
On 2013-04-26, Владимир Скубриев wrote: !/usr/bin/expect -f spawn kdb5_ldap_util stashsrvpw -D cn=admin,dc=example,dc=lab -w password -f /etc/krb5kdc/service.keyfile cn=kdc,ou=krb5,dc=example,dc=lab expect -re ^Password.* send password\r; sleep 1 expect -re ^Re.* send password\r; send \n expect eof exit Причем зависает он на несколько секунд после того, как выведет на экран Вторую просьбу о вводе пароля для проверки его с первым Т.е. на фразе Re-enter password for cn=kdc,ou=krb5,dc=example,dc=lab: но потом нормально завершается скрипт. Вопрос в том, почему зависает в конце то ? Простите что позно отвечаю (( Если с expect возникают странности, сразу включаем режим отладки: exp_internal 1 Далее у вас expect -re ^Re.* Портит все - шапочка. '.*' не все сожрала из буфера expect (размер которого 2000 байт, что не влезно - то потеряно). Сравните как в ман страничке вычитываю пользовательский ввод ('\n' гарантирует жадность): expect_user -re (.*)\n По умолчанию задержка 10 секунд. Сравните с тем сколько у Вас )). Меняется так: set timeout 30 Еще у expect скриптов обычно используют стиль без -ge или -re. Т.е. просто: expect Password send password\r expect Re-enter Наличие sleep 1 говорит о плохо спроектированом скрипте. В Вашем случае просто удалите строку - лишняя... И еще посоветуйте что почитать по expect'у только на русском и чтобы типа wiki с примерами. А то что в гугле ни чего подходящего и на русском не нашел. Чтобы быстро вспомнить синтаксис я пользуюсь (автор - вежливая женщина - я отправлял замечание по опечаткам): http://inguza.com/document/expect-and-tcl-mini-reference-manual Учится можно по Exploring expect, у меня пол книги заняло неделю... Бытрее - если вдумчиво по примерам с оффициального сайта: http://expect.sourceforge.net/#examples заглядывая в man страницу... -- Best regards! -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/874ndy1wj6@gavenkoa.example.com
Re: почему тормозит скрипт expect
Владимир Скубриев - debian-russian@lists.debian.org @ Fri, 26 Apr 2013 13:13:13 +0400: ВС !/usr/bin/expect -f ВС spawn kdb5_ldap_util stashsrvpw -D cn=admin,dc=example,dc=lab -w ВС password -f /etc/krb5kdc/service.keyfile cn=kdc,ou=krb5,dc=example,dc=lab ВС expect -re ^Password.* ВС send password\r; ВС sleep 1 ВС expect -re ^Re.* ВС send password\r; ВС send \n ВС expect eof ВС exit ВС Причем зависает он на несколько секунд после того, как выведет на экран Вторую ВС просьбу о вводе пароля для проверки его с первым ВС Т.е. на фразе ВС Re-enter password for cn=kdc,ou=krb5,dc=example,dc=lab: ВС но потом нормально завершается скрипт. Вопрос в том, почему зависает в конце ВС то ? Встречный вопрос: а зачем после второго send password\r; идет send \n ? Если оно там по делу, то почему \n, а не \r? Вполне возможно, что дело не в этом, но это место в скрипте выглядит странно. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/8761z85lbj@wizzle.ran.pp.ru
почему тормозит скрипт expect
!/usr/bin/expect -f spawn kdb5_ldap_util stashsrvpw -D cn=admin,dc=example,dc=lab -w password -f /etc/krb5kdc/service.keyfile cn=kdc,ou=krb5,dc=example,dc=lab expect -re ^Password.* send password\r; sleep 1 expect -re ^Re.* send password\r; send \n expect eof exit Причем зависает он на несколько секунд после того, как выведет на экран Вторую просьбу о вводе пароля для проверки его с первым Т.е. на фразе Re-enter password for cn=kdc,ou=krb5,dc=example,dc=lab: но потом нормально завершается скрипт. Вопрос в том, почему зависает в конце то ? И еще посоветуйте что почитать по expect'у только на русском и чтобы типа wiki с примерами. А то что в гугле ни чего подходящего и на русском не нашел. Спасибо. -- С Уважением, специалист по техническому и программному обеспечению, системный администратор Скубриев Владимир ~~~ Россия, Ростовская область, г. Таганрог тел. моб: +7 (918) 504 38 20 skype: v.skubriev icq: 214-800-502 www: skubriev.ru -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/517a4529.2020...@skubriev.ru
Re: почему тормозит скрипт expect
On 26.04.2013 13:13, Владимир Скубриев wrote: !/usr/bin/expect -f spawn kdb5_ldap_util stashsrvpw -D cn=admin,dc=example,dc=lab -w password -f /etc/krb5kdc/service.keyfile cn=kdc,ou=krb5,dc=example,dc=lab expect -re ^Password.* send password\r; sleep 1 expect -re ^Re.* send password\r; send \n expect eof exit Причем зависает он на несколько секунд после того, как выведет на экран Вторую просьбу о вводе пароля для проверки его с первым Т.е. на фразе Re-enter password for cn=kdc,ou=krb5,dc=example,dc=lab: но потом нормально завершается скрипт. Вопрос в том, почему зависает в конце то ? Да кто ж его знает, но могу посоветовать autoexpect из expect-dev - полезная штука. И еще посоветуйте что почитать по expect'у только на русском и чтобы типа wiki с примерами. А то что в гугле ни чего подходящего и на русском не нашел. На русском наврядли, на английском есть книжка Exploring Expect, даже в электронном виде можно найти. Спасибо. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/517a54a8.10...@gmail.com