erwarten Sie in den remote system, bekommen Ausgabe auf lokale shell-variable

Ich versuche zu bekommen eine expect-Skript ssh in einem remote-system, und die Ausgabe eines remote-Befehl.
Ich will haben, dass die Ausgabe, die lokal verfügbar sind.
Als ein Beispiel, ssh in das system und Holen Sie sich die lokale Zeit-Ausgabe:

#!/usr/bin/expect --
set timeout 60
spawn ssh [email protected]
expect {
timeout {puts "timed out after $timeout seconds"; exit}
"Password:"
}
send "SuperSecretPassword\r"
expect "user$ "
send "date\r"
expect "date"
expect "\r"
set buffer1 '$expect_out(buffer)'
expect "\r"
set buffer2 '$expect_out(buffer)'
send "exit\r"
expect eof
set buffer3 '$expect_out(buffer)'
exit
export VARIABLE $buffer1
export VARIABLE $buffer2
export VARIABLE $buffer3
echo "Okay, we are done expecting..."
echo "Buffer1: $buffer1"
echo "Buffer2: $buffer2"
echo "Buffer3: $buffer3"

Natürlich, die oben nicht funktioniert, und in der Tat die Skript-Ausführung beendet, nachdem das erwarten "exit"

InformationsquelleAutor JeremyLaurenson | 2013-05-14

Schreibe einen Kommentar