Что делает флаг -i в Expect?

Я анализирую некоторые tcl-скрипты, оставленные для меня давно ушедшим бывшим сотрудником, и пытаюсь разобраться в них, не изучая tcl (возможно, в другой раз). У меня есть некоторый опыт написания сценариев, но не с tcl, поэтому я думаю, что получаю большую часть этого, но мне интересно, кто-нибудь может сказать мне, что делает флаг '-i', например:

expect {
    -i $tbs -re "(.*)\n" {

или же

send -i $ftp "put /dev/acq/$data $data\r"

Обычно это встречается в блоке предположения {}, но я не знаю, насколько это актуально.

Спасибо за помощь,

Марио

1 ответ

Решение

Это специфическое ожидание, а не tcl в genreal (так что это ожидаемая man-страница, на которую вы должны ссылаться).

Для обоих expect а также send командует -i Флаг аналогичен: он указывает конкретный spawn_id (подпроцесс) для работы, а не по умолчанию.

expect

[...]

By default, patterns are matched against output from the  current
process,  however  the -i flag declares the output from the named
spawn_id list be matched against any following  patterns  (up  to
the  next  -i).

а также

send

[...]

The -i flag declares  that  the  string  be  sent  to  the  named
spawn_id. 
Другие вопросы по тегам