歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下Expect命令安裝

Linux下Expect命令安裝

日期:2017/2/28 15:30:17   编辑:Linux教程

一、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 ([email protected]) (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 包,

http://rpm.pbone.net/index.php3/stat/4/idpl/15700692/dir/CentOS_5/com/tcl-devel-8.4.13-4.el5.i386.rpm.html

安裝 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。

相關閱讀:Linux下Expect命令應用 http://www.linuxidc.com/Linux/2012-10/72762.htm

Copyright © Linux教程網 All Rights Reserved