expect脚本登多实例mysql
1、安装expect
yum install -y expect
2、编写脚本mysql.exp
vi ./mysql.exp
#!/usr/bin/expect set port [lindex $argv 0] #设置传参变量 spawn mysql -h 127.0.0.1 -P $port -u root -p #expect命令spawn expect "Enter password:" #expect命令 expect send "Xx123456\r" #expect命令send
interact ##expect命令interact
3、expect简介
Expect是一个用来处理交互的命令。借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成。形象的说,ssh登录,ftp登录等都符合交互的定义。下文我们首先提出一个问题,然后介绍基础知四个命令,最后提出解决方法。
Expect中最关键的四个命令是send,expect,spawn,interact。
send:用于向进程发送字符串
expect:从进程接收字符串
spawn:启动新的进程
interact:允许用户交互
expect接收参数的方式和bash脚本的方式不太一样,
bash是通过$0 ... $n 这种方式,
而expect是通过set <变量名称> [lindex $argv],
例如脚本中第二行:set pass [lindex $argv 0],调用方式为:
第三行中的$pass。
注意:[lindex $argv 0]为第一个参数