Описание тега expect

Expect - это расширение Unix/Linux для языка сценариев Tcl. Он был разработан как инструмент автоматизации и тестирования и упрощает взаимодействие со сложными программами, такими как удаленные оболочки и обеспечение безопасности. Он обладает особенно мощным распознаванием отклика.

Expect добавляет множество расширений к языку сценариев Tcl, которые упрощают создание сценариев интерактивных приложений, управляющих такими трудно взаимодействующими программами, как, например,telnet, ftp, passwd, fsck, rlogin, tip, ssh, и другие.

Expect / tcl может запускать графический интерфейс или запускаться из командной строки. Поскольку Tcl является полнофункциональным языком программирования, Expect может легко взаимодействовать с базами данных, веб-серверами и т. Д. С помощью интуитивно понятной, мощной и легко ожидаемой обработки.

Expect находится в открытом доступе. Есть полная поддержка Linux и Windows.

Ссылки

Общие ошибки

Обратите внимание на это предостережение от expect(1) страница руководства:

Expect придерживается довольно либерального взгляда на определение объема работ. В частности, переменные, считываемые командами, специфичными для программы Expect, будут сначала искать в локальной области видимости, а если не найдены, то в глобальной. Например, это избавляет от необходимости размещать "global timeout"в каждой написанной вами процедуре, которая использует expect. С другой стороны, записанные переменные всегда находятся в локальной области видимости (если не была запущена" глобальная "команда). Наиболее распространенная проблема, которую это вызывает, - это когда spawn выполняется в процедуре. Вне процедуры spawn_idбольше не существует, поэтому порожденный процесс больше не доступен просто из-за области видимости. Добавить "global spawn_id"к такой процедуре.