0

Expect パッケージがインストールされた Windows で ActiveState の ActiveTcl の Community Edition を使用しています。独自のスクリプトを作成し、さまざまな Web サイトからいくつかをダウンロードし、ActiveState Web サイト自体からコピーして貼り付けることも試みましたが、常に同じ問題に遭遇します。私のスクリプトはコマンドを完全に送信し、期待どおりにネットワーク デバイスを構成できますが、送信をスリープ期間で挟むことによってのみ可能です。私がexpectで何かを一致させようとするときはいつでも、私はいつも同じことを取得します(exp_internal 1を使用している場合): expect: does "" (spawn_id exp4) match glob pattern "AnyString"? 番号。正規表現についても同じことが言えます: 期待: "" (spawn_id exp4) は正規表現 "AnyString" と一致しますか? 番号。それが機能しているように見えるのは、単一のワイルドカードを使用した場合のみです。(spawn_id exp4) glob パターン "*" に一致しますか? はい expect: set expect_out(0,string) "" expect: set expect_out(spawn_id) "exp4" expect: set expect_out(buffer) "" しかし、リテラルまたは正規表現のワイルドカードの他の組み合わせは機能しないようです。ビデオを見たり、スクリーンショットを見たりしました。私が言えることから、一致が見つかるまで各文字を反復する必要がありますが、文字通り "" で停止し、タイムアウトして、次の行に進みます。ExpectコマンドがExpectで機能しない場合、明らかに根本的に間違ったことをしていると確信していますが、何がわからないのですか。端末出力を読み取れないようですが、送信コマンドは完全に機能するため、接続されていることがわかります。私が試している端末プログラム (telnet、plink、netcat など) はすべて同じ問題を抱えています。Expect は本当に素晴らしい自動化ツールのように思えるので、これを乗り越えるのに役立つ提案があれば本当に感謝しています。答えを受け取った後、私は愚かな気分になることを完全に期待しています。

4

1 に答える 1