【发布时间】:2009-01-29 16:57:56
【问题描述】:
我正在尝试编写一个 Ruby 脚本,它将通过 ssh 连接到服务器,运行给定的命令,并从中获取输出。以下是我目前得到的内容,大部分改编自 Programming Ruby 书:
require 'pty'
require 'expect'
$expect_verbose = true
PTY.spawn("ssh root@x.y") do |reader, writer, pid|
reader.expect(/root@x.y's password:.*/)
writer.puts("password")
reader.expect(/.*/)
writer.puts("ls -l")
reader.expect(/.*/)
answer = reader.gets
puts "Answer = #{answer}"
end
不幸的是,我得到的只是这个:
Answer = .y's password:
知道我做错了什么以及如何缓解吗?
【问题讨论】: