LINUX

EXPECT的安装

2008-07-07 21:48:34

原创作品,允许转载,转载时请务必以超链接形式标明文章

今天同事要求在两台新装的LINUX系统上安装expect。说实话还真不知道这个东西是干什么的-:(

后来查了一下,赶紧补习补习Expect [is a] software suite for automating interactive tools。使用它系统管理员的可以创建脚本用来实现对命令或程序提供输入,而这些命令和程序是期望从终端(terminal)得到输入,一般来说这些输入都需要手工输入进行的。

检查系统,发现tcl已经安装了。

[root@rhel ~]# rpm -qa|grep tcl

tcl-8.4.13-3.fc6

tclx-8.4.0-5.fc6

后来才发现,因为expect需要重新编译后安装,那么就需要tcl的开发包。

rpm -ivh --force tcl-devel-8.4.13-3.fc6.i386.rpm

然后将expect-5.43包解开,开始读INSTALL文档,系统管理员告诉我,不用读,直接运行./configure

--help开参数。确实好使,又土了一次:-(。

1.首先确定tcl开发包安装的位置rpm -qpl tcl-devel-8.4.13-3.fc6.i386.rpm|more

2.然后根据参数,运行./configure

./configure --with-tcl=/usr/lib

--with-tclinclude=/usr/include/tcl-private/generic

3.执行make

4.执行make install

完成第四步后,expect顺利安装成功。-:)

前不久因为进行异地copy数据,就想到了scp,但是这个东西需要手动去输入密码,不能放到后台去执行,于是就考虑有没有办法让他自动输入密码呢,最终发现了expect这个东西,很强大的东西,所以我就在本地了下,最终实现了不用手动输入密码也可以进行COPY数据,拿来与大家分享.

要使用expect需要预先安装tcl这个东西,然后再安装expect包.我这里使用的是tcl8.4.11-src.tar.gz和expect-5.43.0.tar.gz的安装包.

1.安装tcl和expect

#tar zxvf tcl8.4.11-src.tar.gz

#cd tcl8.4.11/unix #./configure && make && make install #cp

tclUnixPort.h  ../generic/

#tar zxvf expect-5.43.0.tar.gz

#cd expect-5.43/ #./configure --with-tcl=/usr/local/lib/ --with-tclinclude=\

/home/nagios/tcl8.4.11/generic/  --with-x=no

#make && make install

OK,tcl以及expect已经安装完成了.下面给出scp的一个expect很简单的一个脚本

#!/usr/local/bin/expect

spawn scp /home/nagios/tuning-primer.sh nagios@192.168.100.104:/home/nagios/

expect "Password:"

exec sleep 2

send "nagios&*(\n"

interact

就这么一个简单的脚本,就可以实现了自动输入密码的功能,大家对expect的了解还是需要在网上自己找些资料的,他也支持函数、条件语句、循环语句的,功能蛮强大的.

一、Linux下expect的安装和使用

要使用expect需要预先安装tcl这个东西,然后再安装expect包.我这里使用的是tcl8.4.11-src.tar.gz和expect-5.43.0.tar.gz的安装包.

安装tcl和expect

#tar zxvf tcl8.4.11-src.tar.gz

#cd tcl8.4.11/unix #./configure && make && make install #cp

tclUnixPort.h../generic/

#tar zxvf expect-5.43.0.tar.gz #cd

expect-5.43/ #./configure --with-tcl=/usr/local/lib/ --with-tclinclude=\

/home/nagios/tcl8.4.11/generic/--with-x=no

#make && make install

OK,tcl以及expect已经安装完成了.下面给出scp的一个expect很简单的一个脚本

#!/usr/local/bin/expect

spawn scp /home/nagios/tuning-primer.sh

nagios@192.168.100.104:/home/nagios/

expect "Password:"

exec sleep 2

send "nagios&*(\n"

interact

二、Windows下except的安装和使用

这是一个自动登录AIX服务器的例子。

1、先去如下地方下载expect:

windows">

ftp://bmrc.berkeley.edu/pub/winnt/tcltk/expect

2、安装默认路径是C:Program FilesExpect-5.21bin

expect.exe就在这里

3、写个简单的脚本sample.txt

spawn telnet aixserver

expect "login:"

send "mynamer"

expect "Password:"

send "mypassr"

send "lsr"

send "prtconfr"

expect eof

PS:网页的问题,脚本中的“\”等符号会丢失。

4、运行命令expect sample.txt看看效果

5、看看expect的一些帮助信息:

「开始」菜单程序Expect-5.21Tcl

8.0 Shell with Expect

敲?和help看看

本篇文章来源于Linux公社网站()原文链接:

博客分类:

最近搞一个自动配置,所以要写一些bash,用到了expect,

发现没有那个命令,所以自己安装了一下,过程如下

1 .首先检查tcl安装了没有

rpm -qa|grep tcl

结果显示如下:tcl-8.4.13-4.el5

tclx-8.4.0-5.fc6

结果表示已经安装了tcl但是没有安装tcl0-devel所以就要安装

2.安装tcl-devel

首先查一下linux版本和操作系统的位数

/proc/version

结果如下Linux

version 2.6.18-194.el5 ()

(gcc version 4.1.2 20080704 (Red Hat 4.1.2-48))

x86 redhat  4.1

下载文件如下有tcl-devel-8.4.13-4.el5.x86_64.rpm

执行安装:rpm -ivh tcl-devel-8.4.13-4.el5.x86_64.rpm安装成功

3.安装expect :

下载expect包,在附件中已有

先要查看tcl开发包安装的位置我的就安装在/usr/local/bin下,有些系统不一样,是装在/usr/bin下

解开expect-5.43.0.tar.gz包

./configure --with-tcl=/usr/lib64

--with-tclinclude=/usr/include/tcl-private/generic

make

make install

完成

4 .编写脚本运行进运行出错:-bash: ./scm.sh: /bin/sh/expect: bad

interpreter:

解决这个问题的办法是:修改文件头:#!/usr/local/bin/expect

这样OK

由于最近要学习expect,所以便在自己的机器上面装expect,网上找了好多文章看,但是还是出现了很多问题,于是把问题写出来给后来的人一点小小的帮助,聊表心意。

我是在turbolinux上面安装的,而且是在vmware下面安装的。

检查系统,发现tcl已经安装了。

[root@rhel ~]# rpm -qa|grep tcl

tcl-8.4.13-3.fc6

tclx-8.4.0-5.fc6

后来才发现,因为expect需要重新编译后安装,那么就需要tcl的开发包。

rpm -ivh --force tcl-devel-8.4.13-3.fc6.i386.rpm

然后将expect-5.43包解开,开始读INSTALL文档,系统管理员告诉我,不用读,直接运行./configure

--help开参数。确实好使,又土了一次:-(。

1.首先确定tcl开发包安装的位置rpm -qpl tcl-devel-8.4.13-3.fc6.i386.rpm|more

2.然后根据参数,运行./configure

./configure --with-tcl=/usr/lib

--with-tclinclude=/usr/include/tcl-private/generic

3.执行make

4.执行make install

完成第四步后,expect顺利安装成功。-:)

上面的是看的别人的文章,由于我的是trubolinux10.0的,所以出现了很多问题,在第2步的时候出现了--with-tcl=/usr/lib改为--with-tcl=/usr/lib64,但是编译的时候还是出现了问题,错误是找不到tkConfig.sh,加了--with-tk=/usr/lib64,出现了问题是没找到tk.h。发现系统没有安装tk,不知道为什么别人的不用安装tk,于是我安装了,制定了安装的目录,算是编译通过了,现在开始安装。但是还是出现了一个问题[libexpect5.44.1.so]错误1。不知道是什么问题,怎么会出现这样的问题呢?还是安装不成功应该,所以在你们出现这样的问题后,在另想办法吧,少走弯路。

郁闷了半天之后,问题还是要解决的。也是乎,把很多东西删除掉重新来过。

终于发现问题的所在了,我下的expect的版本开始是expect-5.44.1.tar.gz,之后我换了一个版本的expect-5.43.0.tar.gz,而其他的还是一样的步骤。可见版本升级了就会出现很多的问题。

linux expect命令安装包,LINUX EXPECT的安装相关推荐

  1. linux rmp命令安装包在哪里_【MongoDB系列】Linux系统安装MongoDB

    简介 MongoDB 是由C++语言编写,一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方 ...

  2. linux rmp命令安装包在哪里_一文带你了解阿里云Linux服务器的基本操作

    1.开启安全组 1.1 开启安全组 1.2 获取公网IP,更改密码(第一次需要重启) 2.使用面板搭建环境 2.1 搭建环境 1.宝塔: 地址:https://www.bt.cn/download/l ...

  3. linux smb服务安装包,Linux下如何安装smb服务

    Linux下如何安装smb服务 什么是smb服务 smb服务提供一个基本的服务,这个服务很有用哦:作为一个Linux程序员,我们编写.维护.运行的代码都是存放在Linux机器上,但是我们常常阅读修改代 ...

  4. linux vnc离线安装包,Linux之部署vnc应用

    Linux之部署vnc应用 1.1.1安装软件包 [root@localhost ~]# rpm -q vnc-server [root@localhost ~]# yum install vnc-s ...

  5. linux rmp命令安装包在哪里_rpm命令_Linux rpm 命令用法详解:RPM软件包的管理工具...

    rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM ...

  6. linux python mysqldb安装包,linux环境下python中MySQLdb模块的安装方法

    前言 最近开始学习python数据库编程后,在了解了基本概念,打算上手试验一下时,卡在了MYSQLdb包的安装上,折腾了半天才解决.记录一下我在linux中安装此包遇到的问题. 系统是ubuntn15 ...

  7. linux如何导入安装包,linux下安装pip以及导入第三方包

    python有着强大的第三方库,数量不少且功能强大.python 最原始的办法是在官网上下载压缩包,解压,而后运行setup.py来进行安装.linux 显然这种方法很繁琐,不方便.所以有了包管理工具 ...

  8. linux vim卸载安装包_Linux下卸载安装mysql

    1.卸载命令:# rpm -qa |grep -i mysql # yum remove mysql-community mysql-community-server mysql-community- ...

  9. linux下python安装包_Linux服务器中安装python包管理工具pip

    pip是python的包管理工具,python的强大之处除了在于语法的简练,还有就是对众多的库支持了. 1.下载pip包管理工具 链接地址:https://pypi.python.org/pypi/p ...

最新文章

  1. oracleHelper 操作帮助类
  2. 洛谷P1110 报表统计 multiset stl好题
  3. 人工智能对医疗行业影响的专题研究:基本结论
  4. Tomcat学习总结(6)——Tomca常用配置详解
  5. 如何实现搜索列表_图解:如何理解与实现散列表
  6. 插值搜索——本质和二分无异,是利用数据分布的规律来定查找点,其基本假设是数据分布均匀...
  7. 深入字节码操作:使用ASM和Javassist创建审核日志
  8. 遇见王沥川的人生感悟_23岁酱油泡饭默默无闻,31岁逆袭人生,王彦霖有何魅力?...
  9. linux: 命令行运行php Run PHP from the command line
  10. 微信自定义菜单中文乱码问题
  11. linux中为什么已经是root用户仍不能执行程序
  12. ajax 循环php数组,使用Jquery,AJAX,PHP和数组进行实时更新
  13. Scala语言精华版笔记整理
  14. CorelDRAW X8最新版本安装使用教程
  15. php 对接 hotmail邮箱,php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
  16. java小算盘金钱存银行1秒算出每一年的利息及存款,利息一目了然
  17. c语言.jpg图片转成数组_怎么把Word转成PDF?一个PDF转换软件就能搞定!
  18. 迅雷9右侧栏关闭广告
  19. 我真的很郁闷,应该振作起来的
  20. 如何提高项目估算精准度?关键看5大影响因子

热门文章

  1. 怎么设置虚拟机联网呢
  2. Java项目中数据库从mysql 5.7更换到mysql8.0.18版本
  3. excel 如何检查重复行
  4. TPS7250QDR低压差(LDO)稳压器
  5. 【调剂】广东省杰青广州大学范立生教授课题组接收计算机学硕调剂
  6. win10显示屏2min黑屏解决方案
  7. 阿里云盘强势来袭,内测资格,申请链接,开放申请了!非会员下载 10MB/s
  8. 【Ubuntu】使用zip方法解压分卷压缩ZIP文件
  9. 关于缺少编程基础的朋友想转行 ABAP 开发岗提出的一些咨询问题和解答
  10. SAP ABAP 开发创建 DIALOG 屏幕程序