リモート システムに ssh するスクリプトを期待し、リモート コマンドの出力を取得しようとしています。その出力をローカルで利用できるようにしたい。例として、システムに SSH 接続し、現地時間の出力を取得します。
#!/usr/bin/expect --
set timeout 60
spawn ssh user@server.domain.com
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"
当然、上記は機能せず、実際にはスクリプトの実行は「終了」を期待して終了します