expect安装使用总结

expect简介

Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。 Expect的作者Don Libes在1990年开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect[is a] software suite for automating interactive tools)。使用它系统管理员的可以创建脚本用来实现对命令或程序提供输入,而这些命令和程序是期望从终端(terminal)得到输入,一般来说这些输入都需要手工输入进行的。Expect则可以根据程序的提示模拟标准输入提供给程序需要的输入来实现交互程序执行。甚至可以实现实现简单的BBS聊天机 器人。Expect是不断发展的,随着时间的流逝,其功能越来越强大,已经成为系统管理员的的一个强大助手。Expect需要Tcl编程语言的支持,要在系统上运行Expect必须首先安装Tcl。
Expect工作原理:从最简单的层次来说,Expect的工作方式象一个通用化的Chat脚本工具。Chat脚本最早用于UUCP网络内,以用来实现计算机之间需要建立连接时进行特定的登录会话的自动化。Chat脚本由一系列expect-send对组成:expect等待输出中输出特定的字符,通常是一个提示符,然后发送特定的响应。例如下面的Chat脚本实现等待标准输出出现Login:字符串,然后发送somebody作为用户名;然后等待Password:提示符,并发出响应sillyme。

安装GCC

连接外网时

yum -y install gcc 

离线安装
在这里插入图片描述

各种rpm下载地址
http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/

安装:

rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm

批量安装:

rpm  -ivh  *.rpm --nodeps --force

#输出版本则安装成功

gcc -v 

编译安装tcl

https://sourceforge.net/projects/tcl/
解压
tar xfvz tcl8.4.11-src.tar.gz
#cd tcl8.4.19
#cd unix
#./configure
最后几句:
… …updating cache ./config.cache
creating ./config.status
creating Makefile
creating dltest/Makefile
creating tclConfig.sh
#make
#make install

编译安装tk

http://www.tcl.tk/software/tcltk/download.html
同tcl,注意执行./configure两者后面的路径要保持一致,不加都不加

expect 安装 (需Tcl的库)

主页:
http://expect.nist.gov/
https://sourceforge.net/projects/expect/
解压:
tar zxvf *.tar.gz
进入解压目录unix下执行
./configure
make
#make install

测试:

#!/usr/bin/expect
set ipaddress [lindex $argv 0]
set passwd [lindex $argv 1]
set timeout 30
spawn ssh root@$ipaddress
expect {"yes/no" { send "yes\r"; exp_continue}"password:" { send "$passwd\r" }}
expect "]*"
#interact   //执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。
expect eof //与spawn对应,表示捕捉终端输出信息终止,结束交互。

推荐一篇写的不错的文章:
https://www.cnblogs.com/lixigang/articles/4849527.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值