expect简介和实例

1. 介绍

expect是建立在tcl语言基础上的一个工具,它可以让一些需要交互的任务自动化地完成。相当于模拟了用户和命令行的交互操作。

一个常用的场景就是批量配置集群无秘钥登录。如果集群的机器数量很多,手动一台一台地去每台机子去配置无密钥是非常糟糕的事情。使用expect功能,可以远程登录机器,并通过交互方式进行无秘钥登录。

2. 安装

Linux系统自身并没有安装expect和tcl,需要手动安装。当电脑联网时,安装过程也相当简单。

yum安装

yum install -y expect

安装expect过程中会自动安装tcl。安装完之后,可以通过 rpm -qa 检查一下:

[root@master ~]# rpm -qa|grep expect
expect-5.44.1.15-5.el6_4.x86_64
[root@master ~]# rpm -qa|grep tcl
tcl-8.5.7-6.el6.x86_64
tcl-devel-8.5.7-6.el6.x86_64

3. 关键命令及原理

首先使用spawn启动进程,即开启一个会话。expect类似于一个监听进程,等待输出特定的字符串。当spawn启动的会话有expect所期待的输出时,会被expect捕捉到。

猜你喜欢

转载自blog.csdn.net/qq_30982323/article/details/80960724