2016-12-17 20 views
0

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

答えて

0

これはおそらく残念ながら文書化されていないWindowsのそれ以降のバージョンでExpectに関する既知の問題が原因と考えられます。 は、Win7またはWin8で、おそらくWin10では動作しない可能性があります。一般に、32ビットWindowsでは64ビットWindowsよりも優れています。

関連する問題