期望-send的问题:spawn id exp4未打开

时间:2009-09-07 06:37:14

标签: unix send expect

我的期望代码执行此操作:它执行ssh连接到另一台计算机,发送密码然后返回该计算机的主机名。我在下面给出了我的代码示例 #!/ usr / bin / expect -f
设置ipaddr [lrange $ argv 0 0]
设置密码[lrange $ argv 1 1]
设置超时-1
spawn ssh root @ $ ipaddr hostname
match_max 100000
期待“* assword:*”
发送 - “$ password \ r”
期待eof

这段代码运行很多次,但间歇性地,我得到以下错误
发送:spawn id exp4未打开
    执行时 “发送 - ”$ password \ r“”

为什么会这样?

1 个答案:

答案 0 :(得分:0)

弄清楚原因。 我生成了ssh密钥并将其复制到目标计算机上。所以没有“密码:”提示。因此,在发送完成之前,ssh连接已经关闭。

我从目标计算机上删除了ssh密钥,然后再次运行脚本并发现没有问题