誰でも違いを説明できますか
expect_out(buffer)
expect_out(0,string)
一般的に私は使用することを好みますexpect_out(buffer)
。
2 つ目は何ですか。いつ使用できますか。
誰でも説明できますか?
マンページをご覧になることをお勧めします。
関連する部分を引用します:
パターン (または eof または full_buffer) に一致すると、一致する出力と以前に一致しなかった出力が変数に保存されます
expect_out(buffer)
。expect_out(1,string)
を通じて、最大 9 つの正規表現部分文字列の一致が変数に保存されますexpect_out(9,string)
。フラグがパターンの前に使用される場合、 10 個の文字列-indices
の開始インデックスと終了インデックス ( に適した形式lrange
) が変数に格納され、expect_out(X,start)
Xexpect_out(X,end)
は数字であり、バッファ内の部分文字列の位置に対応します。0 は、パターン全体に一致した文字列を指し、glob パターンと正規表現パターンに対して生成されます。たとえば、プロセスが の出力を生成した場合"abcdefgh\n"
、次の結果になります。「cd」を期待する次のステートメントが実行されたかのようです。
expect_out(0,string) cd を設定します expect_out(buffer) abcd を設定します。
"efgh\n"
出力バッファに残されます。プロセスが出力"abbbcabkkkka\n"
を生成した場合、次の結果:-indices -re "b(b*).*(k+)" を期待する次のステートメントが実行されたかのようです。
期待_アウトを設定 (0,開始) 1 期待_アウトを設定 (0,終了) 10 expect_out を設定します (0,文字列) bbbcabkkkk expect_out (1、開始) 2 を設定します。 expect_out(1,end) 3 を設定します。 expect_out(1,string) bb を設定します。 expect_out (2、開始) 10 を設定します。 期待_アウトを設定 (2,終了) 10 expect_out(2,string) k を設定します expect_out(buffer) abbbcabkkkk を設定します。
expect_out(0,string)
さまざまな文字列を含む方法を確認できexpect_out(buffer)
ます。