1

1980 年のテレフォニー システム (DMS100) からのコマンドの出力をファイルに保存する必要があります。これを行うスクリプトを期待していますが、私の問題は次のとおりです。

  1. このコマンドは、10 時間もの情報を出力する可能性があります。
  2. 何らかの理由で、コマンドを送信した後、正確に 10 分後にセッションが閉じられます。

私はこのようなものが必要です:特定のテキストを取得できると期待しながらコマンドを送信する

しかし、違いは、私の期待が 10 ~ 12 時間後に実現し、セッションが 10 分ごとに期限切れになることです。

セッションを維持するために、文字列を期待している間に目に見えない文字を送信したいと思います。このようなもの:

While expect "The End Of My Output"
{
send \007
}

これどうやってするの?

編集:

私の問題は、使用していた telnet ポートが 10 分のタイムアウトで構成されていたことです。タイムアウトのない別のポートが見つかり、正しく機能しています。

4

1 に答える 1

0

このようなことを試してください(テストされていません):

# timeout after 5 minutes
set timeout 300

expect {
  "The End Of My Output" {
    # got all the output
  }
  timeout {
    send "\007"
    exp_continue
  }
}
于 2013-03-13T09:02:31.100 に答える