expect_expectlとは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > expect_expectlの意味・解説 

expect_expectl

(No version information available, might be only in CVS)
expect_expectl — プロセスの出力がパターンに一致する・指定した時間が経過する・ あるいは EOF に達するのいずれかにあてはまるまで待ち続ける

説明

mixed expect_expectl ( resource expect, array cases, array &match )
プロセスの出力がパターンに一致する・指定した時間が経過する・ あるいは EOF に達するのいずれかにあてはまるまで待ち続けます。
match を指定すると、検索結果がそこに保存されます。 一致した文字列が match[0] に保存され、 元のパターンの中の (括弧で囲まれた) 部分に一致する文字列が match[1]match[2]、 と順に、最大 match[9] まで (libexpect の制限です) 保存されます。

パラメータ

expect
事前に expect_popen() でオープンした Expect ストリーム。
cases
expect case の配列。個々の expect case は数値添字の配列で、 以下のような形式となります。
表 88. Expect Case の配列
添字値の型説明必須かどうかデフォルト値
0stringストリームからの出力との比較対象となるパターン。yes 
1mixedパターンに一致した場合にこの関数が返す値。yes 
2integer パターンの形式。 EXP_GLOBEXP_EXACT あるいは EXP_REGEXP のいずれかひとつです。 noEXP_GLOB



返り値

一致したパターンに関連付けられた値を返します。
この関数の実行に失敗した場合は、 EXP_EOFEXP_TIMEOUT あるいは EXP_FULLBUFFER を返します。

変更履歴

バージョン説明
0.2.1 バージョン 0.2.1 より前では、match パラメータに返されるのはマッチした文字列であり、 部分文字列の配列ではありませんでした。

例 573. expect_expectl() の例
<?php
// ファイルをリモートホストにコピーします
ini_set ("expect.timeout", 30);

$stream = fopen ("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");

$cases = array (
  array (0 => "password:", 1 => PASSWORD),
  array (0 => "yes/no)?", 1 => YESNO)
);

while (true) {
 switch (expect_expectl ($stream, $cases))
 {
  case PASSWORD:
   fwrite ($stream, "password\n");
   break;

  case YESNO:
   fwrite ($stream, "yes\n");
   break;

  case EXP_TIMEOUT:
  case EXP_EOF:
   break 2;
 
  default:
   die ("エラーが発生しました!\n");
 }
}

fclose ($stream);
?>


参考

expect_popen()



このページでは「PHP関数リファレンス」からexpect_expectlを検索した結果を表示しています。
Weblioに収録されているすべての辞書からexpect_expectlを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からexpect_expectlを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「expect_expectl」の関連用語

expect_expectlのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



expect_expectlのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS