#!/bin/expect -f
set ip [lindex $argv 0 ] #接收第一个参数当做ssh 目标ip
set timeout 10 ##设置超时时间
spawn ssh $ip #发起ssh连接
expect {
"*yes/no" { send "yes\r"; exp_continue} #匹配输出结果,输入yes
"*password:" { send "xxxxx\r" } #匹配输出结果输入密码,因为密码大多都一样没有进行传参
}
interact #交互模式
expect所使用的参数:
1.expect:从进程接收字符串,expect可以接收一个字符串参数,也可以接收正则
2.spawn:spawn命令用来启动新的进程(由spawn启动的进程的输出才可以被expect所捕获)。
3.send:send命令来发送交互信息。
4.interact :执行完成后保持交互状态