expect_expectl
(PECL expect >= 0.1.0)
expect_expectl — Очікує, доки виведення потоку не співпаде з одним із шаблонів, або доки не закінчиться максимальний час очікування, або повернеться EOF
Опис
expect_expectl(resource $expect, array $cases, array &$match = ?): int
Очікує, поки виведення потоку не співпаде з одним із шаблонів, або поки не закінчиться максимальний час очікування, або повернеться EOF.
Если задан параметрmatch
, він заповнюється з результатами пошуку. Збіглий рядок буде збережено в match[0]
. Підрядки, що збіглися (залежно від дужок) в оригінальному шаблоні будуть збережені в match[1]
match[2]
, вплоть доmatch[9]
(ограничения libexpect).
Список параметрів
expect
Потік Expect, відкритий за допомогою expect_popen()
cases
Масив очікуваних значень. Кожне очікуване значення являє собою індексований масив, описаний у цій таблиці:
Expect Case Array
Индекс | Тип значения | Опис | Обязательный | Значение по умолчанию |
---|---|---|---|---|
string | шаблон, який порівнюватиметься з потоком виводу | так | ||
mixed | значення, яке поверне функція, якщо збіг знайдено | так | ||
integer | тип шаблону: EXP_GLOB EXP_EXACT або EXP_REGEXP | ні | EXP_GLOB |
Значення, що повертаються
Повертає значення, пов'язане з шаблоном, з яким воно збіглося.
У разі виникнення помилки функція поверне: EXP_EOF
EXP_TIMEOUT
або EXP_FULLBUFFER
список змін
Версия | Опис |
---|---|
PECL expect 0.2.1 | До версії 0.2.1, параметр match повертався рядок, а не масив рядків, що збіглися. |
Приклади
Приклад #1 Приклад використання expect_expectl()****
Loading...
Дивіться також
- expect_popen() - Запускає команду через командну оболонку Bourne та відкриває для процесу потік PTY