Expect

Expect是一个用于自动化交互任务的工具,常用于系统管理员自动化登录、脚本交互等场景。它基于Tcl编程语言,通过spawn、expect、send、set等核心命令实现与程序的交互。Expect的工作原理是等待特定输出(如提示符),然后发送相应输入,解决了人机交互的问题。文章还介绍了Expect的安装、语法和实例,如SSH登录验证的自动化处理。
摘要由CSDN通过智能技术生成

1、expect介绍
通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候可能会需要实现和交互程序如telnet服务器等进行交互的功能。而Expect就使用来实现这种功能的工具
Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预
Expect 是一个用来实现自动交互功能的软件套件(Expect[is a]software suite for automating interactive tools)。使用它系统管理员的可以创建脚本用来实现对命令或程序提供输入,而这些命令和程序是期望从终端(terminal)得到输入,一般来说这些输入都需要手工输入进行的
Expect则可以根据程序的提示模拟标准输入提供给程序需要的输入来实现交互程序执行。甚至可以实现实现简单的BBS聊天机器人
Expect是不断发展的,随着时间的流逝,其功能越来越强大,已经成为系统管理员的的一个强大助手。Expect 需要Tcl编程语言的支持,要在系统上运行Expect必须首先安装Tcl
2、Expect工作原理
Expect的工作方式象一个通用化脚本工具。用来实现计算机之间需要建立连接时进行特定的登录会话的自动化
脚本由一系列expect-send对组成:expect等待输出中输出特定的字符,通常是一个提示符,然后发送特定的响应。解决人机交互的问题
3、Expect安装

yum -y install expect tcl tclx tcl-devel

4、Expect命令
Expect的核心是spawn、expect、send、set。
spawn 调用要执行的命令
expect监听交互输出
send 进行交互输入
set 设置变量值
interact 交互完后,将控制权交给控制台。
expect eof,与spawn对应,表示捕捉终端输出信息终止,类似if…endif
settimeout-1,设置expect 永不超时
settimeout 300,如果300后没有捕捉到expect的监听的内容,那么就退出
5、Expect的语法
Expect使用的是tcl语法,语法结构如下
5.1、命令之后是参数,互相用空格间隔
cmd arg arg arg
5.2、使用变量
set var 1000 #定义变量
set var [lindex

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值