-1

サーバーaからサーバーbに大きなファイルをコピーするためにscpを呼び出すスクリプトが期待されています。現在、回避策として「set timeout -1」を使用しています。ありがとう

4

1 に答える 1

2

転送に長い (そして予測できないほどの) 時間がかかる場合は、タイムアウトをオフにするのが妥当です。scpただし、印刷して待機し続ける進行状況の更新を検出するように、コードを記述したほうがよい場合があります。

expect {
    "ETA" {
        puts "still transferring..."
        exp_continue;        # <<<<--- magical
    }
    "100%" {
        puts "done"
    }
}

このように、しばらく更新がまったくない場合はタイムアウトしますが、更新があるとメッセージが出力され (おそらくカスタマイズする必要があります)、次の更新を待ちます (全体のタイムアウトまで)。

于 2013-06-20T08:27:42.807 に答える