expect知识梳理
1 expect expect软件用于实现非交互式操作,实际应用中常用于批量部署,可以帮助运维人员管理成千上万台服务器. expect实现非交互式操作主要是在程序发出交互式询问时,按条件传递程序所需的字符串,如询问yes/no时自动传递yes或no,或询问密码时传递已定义好的密码,这样实现了非交互操作. 1.1 expect安装 推荐使用yum安装,方便快捷,自动解决依赖问题;如果手动编译,需同时安装expect和tcl软件. 安装省略,直接yum安装expect即可. 1.2 expect脚本中经常使用的命令及说明 命令 说明 set timeout NUM 设置超时时间,NUM是数字,单位是秒. expect 进入expect环境下 spawn expect软件中的监控程序,监控后面程序/命令发出的交互式询问, spawn是expect环境下的内部命令. send 发送已定义的字符串或数字密码给程序,完成交互式操作 "string\r" 表示发送string字符串后执行回车操作,程序之间的交互一般使用 "\r" "string\n" 使用"string\n"表示发送指定的字符串后,并输出内容到终端, 方便用户查看结果. exp_continue 若问题不存在则继续下一步,回答下面的问题. 注意此项不能加在expect发送自动应答中的最后一项,否则报错.