Linux下 expect命令【安装】

一、Expect介绍及应用场景
      Expect是一个用来实现自动交互功能的软件套 件(Expect [is a] software suite for automating interactive tools)。使用它系统管理 员的可以创建脚本用来实现对命令或程序提供输入,而这些命令和程序是期望从终端(terminal)得到输入,一般来说这些输入都需要手工输入进行的。
    最近在研究hadoop集群,在多台服务器相同的用户user下面,要登录到所有的服务器上执行一些相同的命令(修改一些配置文件,执行一些命令),如果ssh到不同的机子上去,一个个执行的话,人肉来做会疯掉的,所以通过expect写成shell脚本来批量处理,才是程序机器来干的事情。

二、Expect安装

 下载的 expect-5.43.0.tar.gz  需要编译、安装,需要依赖tcl-devel,所以要先确认安装tcl相关包
1、首先检查tcl 安装情况

     rpm -qa | grep tcl

    结果显示如下: tcl-8.4.13-4.el5
                                 tclx-8.4.0-5.fc6

结果表示已经安装了 tcl  但是没有安装tcl-devel  所以就要安装, 之前没有查看操作系统位数,下了64位的tcl-devel包,安装错误
  cat   /proc/version
 Linux version 2.6.18-194.el5 (mockbuild@x86-007.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-  48)) #1 SMP Tue Mar 16 21:52:43 EDT 2010

下载   tcl-devel-8.4.13-4.el5.i386.rpm   包,
安装 rpm -ivh  tcl-devel-8.4.13-4.el5.i386.rpm
或者采用 yum install tcl-devel.i386


2、安装expect包

先要查看tcl开发包安装的位置  

不同的系统的TCL安装目录不一样,解开expect-5.43.0.tar.gz 包,安装时需指定TCL的相关目录

   --with-tclinclude 参数就是  tcl开发包的安装位置

  ./configure --with-tcl=/usr/lib --with-tclinclude=/usr/include/tcl-private/generic

   make

  make install

  完成


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

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

这样OK


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值