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_GLOBEXP_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