spawn命令 作用 :执行一个命令或程序
语法 :spawn 选项 需要执行的命令或程序 选项 : -open: 表示启动文件进程 -ignore:表示忽略某些信号expect命令 作用 :获取spawn执行命令或程序的结果 并对比与事先指定关键字是否的相匹配 若一样则执行后续动作
语法 : expect 表达式 [动作]send命令 作用 :指定执行动作 (就是说expect对比成功后你先输入啥东西)
语法 :send "要执行的东西" 说明 :\r表示回车、\n表示换行、\t表示制表符等exp_continue命令
作用是让expect程序继续匹配的意思
普通变量
语法 set 变量名 变量值特殊变量
语法 set a [lindex $argv 0] set b [lindex $argv 1]expect中$argv表示参数数组,可以使用[lindex $argv n]接收expect脚本传参,n从0开始,分别表示第一个[lindex $argv 0]参数、第二个[lindex $argv 1]参数…
eof关键字 作用 :用于匹配结束符
timeout关键字 作用 :控制时间的关键字
说明 :在shell脚本中直接使用expect可使用如下方式
passwd=`awk -F "host: " '/root@localhost/{print $2}' /root/dic` yum install expect -y expect << EOF cd /mysql_3306/ spawn bin/mysqladmin -uroot password 123456 -p expect { "Enter password:" { send "$passwd\r" }; } expect eof EOF定义bash变量后在expect中调用 详细完整脚本可查看shell分类中的shell自动化安装mysql-glibc脚本