https://blog.csdn.net/jw_xuezhixia/article/details/54144116
expect脚本以 #!/usr/bin/expect 开头
常用后缀:expect脚本常以.exp或者.ex结束
expect主要命令
spawn 新建一个进程(受控进程),这个进程的交互由expect控制
expect 等待受控进程返回的字符串,直到超时,根据规则决定下一步操作
send 发送字符串给受控进程
set 设定变量为某个值
exp_continue 重新执行expect命令分支
[lindex $argv 0] 获取expect脚本的第一个参数
[lindex $argv 1] 获取expect脚本的第二个参数
set timeout -1 设置超时方式是永久等待
set timeout 50 设置超时时间是50秒
interact 将脚本的控制权交给用户,用户可继续输入
expect eof 等待受控进程结束后的退出信息eof
expect命令分支
expect命令采用了tcl的“模式-动作”语法。
单一分支语法
set password abc
expect “*assword:" {send “$password\r”}
多分支语法
set password abc
expect{
“(yes/no)?” {send “yes\r”; exp_continue}
“*assword:" {send “$password\r”}
}