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]为第一个参数
 
posted @ 2022-12-30 17:20  弗拉宾教头  阅读(88)  评论(0编辑  收藏  举报