|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Max Ischenko 2:5020/400 19 Jun 2001 15:53:30 To : Valentin Nechayev Subject : Re: expect question -------------------------------------------------------------------------------- Valentin Nechayev wrote: MI>> expect -re login {} MI>> puts expect_out(buffer) #-> login MI>> мне же нужно _весь_ вывод который проходит через Expect сохранять MI>> паралелльно в некоторую переменную. Как tee(1). VN> man expect до слова log_file дочитали? Отвечаю сразу Вам и Виктору Вагнеру. До слов log_file я дочитал, и даже немного дальше. ж-) Эти два варианта (второй - через expect_out(buffer)) слишком кривые и неудобные. Попробую объяснить подробнее что мне хочется. У меня есть программа, которая выполняет ряд тестов. Каждый тест характеризуется своим контекстом, т.е. все происходящие события на протяжении теста регистрируются с помощью такой немудреной процедуры: proc add-diag-context buf { global diagBuffer testCase set value [lindex [array get diagBuffer $testCase] 1] set diagBuffer($testCase) "$value\n$buf" } Из своего кода вызвать add-diag-context нет проблем. Проблема, чтобы отправлять туда и вывод spawned process'a. Expect видимо никаких хуков для перехвата не предоставляет. Я же предполагал обратное. PS: Может через log_file + fileevent попробовать? -- Your program is sick! Shoot it and put it out of its memory. --- ifmail v.2.15dev5 * Origin: somewhere in space... (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/16181ba0f76bd.html, оценка из 5, голосов 10
|