1

私は次のexpectスクリプトを持っており、リモートホストで/tmp/find_users.shスクリプトを実行しており、そのスクリプトの出力を収集しようとしています。

#!/usr/bin/expect

set timeout 3
if {[llength $argv] != 1} {
    puts "usage: ssh-auto host"
    exit 1
}

set host  [lindex $argv 0]
spawn ssh -t -q -oStrictHostKeyChecking=no $host
expect "passphrase"
send "XXXXXXX\r"
expect "$"
send  "/tmp/find_users.sh\r"
expect eof

スクリプトの出力を収集するために次の方法を使用しています。

./auto-ssh.ex servername > command_output.txt

問題は、追加のサーバープロンプトを出力し、他のクラップスにバナーを表示することです。クラップスではなく、きちんとした出力が必要です。良い方法があると確信していますが、方法がわかりません。

4

1 に答える 1

1

リモート シェルを編集して、ログ出力をファイルに追加できます。そして、expect スクリプトの最後で、auto_scp を使用してログ ファイルを取得します。

于 2012-10-26T00:19:14.130 に答える