什么是expect
expect是基于tcl的相对简单的一个免费的脚本编程工具语言,用来实现自动和交互式任务程序进行通信,无须人手工干预,比如ssh ftp 等,这些程序正常情况下都需要手工与他们进行交互,而使用expect就可以模拟人手工交互的过程,实现自动的和远端的程序交互,从而到达自动化的目的
expect程序工作流程
expect的工作流程可以理解为,spawn启动进程----->expect期待关键字----->send向进程发送字符------>退出结束
安装expect软件
服务端172.18.1.211
客户端 120.27.54.50
所谓的服务端其实也就是安装了expect的软件
[root@taoke1 ~]# yum list |grep expect
[root@taoke1 ~]# yum -y install expect.i686
2;安装好expect软件之后 现在服务器上测试下
[root@taoke1 ~]# ssh -p 22 root@120.27.54.50
3;写expect脚本
#!/usr/bin/expect ##expect脚本
spawn ssh -p 22 root@120.27.54.50 ##远程连接到服务器
set timeout 60
expect "*password:" ##expect期待关键字
send "XXXXX\n" ##send向进程发送字符 XXXXX表示密码 "\n"表示回车
expect eof ##expect expect eof 表示这个语句的开头和结尾
exit ##退出
在服务端172.18.1.211上操作
[root@taoke1 script]# vi test.exp
4;在服务端172.18.1.211上测试
[root@taoke1 script]# expect test.exp
一个简单的expect脚本就写好了
本文出自 “潦草人生” 博客,请务必保留此出处http://972010.blog.51cto.com/962010/1626268
原文地址:http://972010.blog.51cto.com/962010/1626268