Expect是在Tcl基础上创建起来的,它还提供了一些Tcl所没有的命令,它可以用来做一些linux下无法做到交互的一些命令操作,在远程管理方面发挥很大的作用。
spawn命令激活一个Unix程序来进行交互式的运行。
send命令向进程发送字符串。
expect命令等待进程的某些字符串。
expect支持正规表达式并能同时等待多个字符串,并对每一个字符串执行不同的操作.
A. Tcl 安装
主页: http://www.tcl.tk
下载地址: http://www.tcl.tk/software/tcltk/downloadnow84.tml
1.下载源码包
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tk8.4.11-src.tar.gz
2.解压缩源码包
tar xfvz tcl8.4.11-src.tar.gz
tar xfvz tk8.4.11-src.tar.gz
3.安装配置
cd tcl8.4.11
cd unix
./configure --prefix=/usr/tcl --enable-shared
make
make install
安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子目录generic中。
暂时不要删除tcl源代码,因为expect的安装过程还需要用。
B. expect 安装 (需Tcl的库)
主页: http://expect.nist.gov/
1.下载源码包
wget http://expect.nist.gov/expect.tar.gz
2.解压缩源码包
tar xfvz expect.tar.gz
3.安装配置
cd expect-5.43
./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=
/tcl源代码路径/generic
make
make install
使用示例:
#!/usr/bin/expect
# 设置超时时间为 60 秒
set timeout 60
# 设置要登录的主机 IP 地址
set host 10.20.23.43
# 设置以什么名字的用户登录
set name root
# 设置用户名的登录密码
set password 111111
#spawn 一个 ssh 登录进程
spawn ssh $host -l $name
# 等待响应,第一次登录往往会提示是否永久保存 RSA 到本机的 know hosts 列表中;等到回答后,在提示输出密码;之后就直接提示输入密码
expect {
"(yes/no)?" {
send "yes\n"
expect "Password:"
send "$pasword\n"
}
"Password:" {
send "$password\n"
}
}
expect "*"
# 下面测试是否登录到 $host
send "uname\n"
expect "Linux"
#send_user "Now you can do some operation on this terminal\n"
exit
分享到:
相关推荐
Expect 基于TCL语言,因此在使用之前需要先安装TCL环境。本压缩包提供了Linux Expect的安装教程、安装包以及两个实用的自动化脚本,帮助用户更高效地进行系统管理。 首先,我们需要安装TCL。提供的文件`tcl8.4.16-...
RHEL 7.8 安装 expect 及使用 Expect 是一种免费的编程工具语言,用来实现自动与交互式任务进行通信,而无需人工干预。Expect 是一个用来实现自动交互功能的软件套件。系统管理员可以用它来创建脚本以实现对命令或...
标题"expect在windows下使用的"表明我们将讨论如何在Windows操作系统中安装和使用`Expect`。`Expect`在Windows下的安装文件通常是带有`.exe`扩展名的可执行程序,例如`expect-5.21r1b1-setup.exe`,这是一个特定版本...
在Linux环境中,`expect`是一个强大的自动化工具,它允许用户编写脚本来自动交互与命令行接口(CLI)程序...熟练掌握`expect`的安装和使用,可以极大地提升Linux系统管理的效率,特别是在自动化执行需要交互的任务时。
本次我们将详细介绍如何在Windows上安装并使用expect-5.21,以及它所依赖的组件ActiveTcl-8.6.12。 首先,expect-5.21是一个由Don Libes开发的Tcl扩展,它允许脚本模拟终端会话,自动处理基于文本的交互式应用程序...
在Ubuntu操作系统中,`Expect` 是...通过正确安装和使用`Expect`,你可以大大提高工作效率,减少手动操作带来的错误。在Ubuntu上,虽然`Expect`不是默认安装的,但通过上述方法,你可以轻松地将其添加到你的工具箱中。
expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。 在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入...
标题“expect 安装”指的是在计算机系统上安装和...以上就是关于“expect安装”的相关知识点,涵盖了从源码编译到实际应用的整个过程。对于IT专业人士来说,掌握这类自动化工具的安装和使用是提升工作效率的重要技能。
`expect`的安装过程涉及多个步骤,包括Tcl的安装,因为`expect`依赖于Tcl运行。 首先,你需要下载两个关键的安装包:`tcl8.4.13-src.tar.gz`和`expect-5.43.0.tar.gz`。`tcl8.4.13`是`expect`所依赖的基础库,而`...
本文将详细介绍如何在Linux系统中安装TCL和Expect,同时提供相关的源码安装包。 首先,让我们了解TCL和Expect的基本概念: 1. TCL:TCL是一种轻量级的、动态的编程语言,它以简洁的语法和强大的字符串处理能力著称...
`Expect`是基于TCL语言的一个扩展,因此在安装和使用`Expect`之前,需要先安装TCL环境。 ### 安装TCL和EXPECT **在Linux系统中**,有多种包管理器可以用来安装TCL和EXPECT: 1. **Debian/Ubuntu** 用户可以使用`...
在使用`Expect`前,必须确保系统已经安装了`TCL`,因为`Expect`是基于`TCL`的。安装过程通常涉及下载`TCL8.4.11`的源代码,解压后编译并安装。然后,再获取`Expect5.43.0`的源代码,同样进行编译和安装。安装完成后...
在使用Expect时,用户可以编写Tcl脚本来定义期望的输出("expect"语句)以及相应的响应("send"语句)。例如,你可以创建一个脚本来自动登录SSH服务器,发送密码,执行命令,然后捕获结果。Expect还能处理复杂的交互...
centos7、centos8安装expect及tcl所需的安装包源码,以及安装脚本install_expect.sh 下载完拷贝到linux系统文件目录下,unzip expect_tcl.zip,然后执行sh install_expect.sh 即可完成tcl和expect的安装 安装完毕后,...
6. 最后,使用`sudo make install`将Expect安装到系统中。 在安装完成后,你就可以通过TCL解释器运行Expect脚本来实现自动化任务了。例如,你可以创建一个expect脚本来自动登录SSH服务器,执行远程命令,然后安全...
这个包包含了`expect`及其所有依赖,使得在x64平台上安装和使用`expect`变得简单。在Linux中,我们可以通过以下步骤安装这个RPM包: 1. 首先,确保系统中已经安装了`rpm`工具,如果没有,可以通过包管理器(如`yum`...
【标题】"activetcl带Expect包的已安装文件"主要涉及两个核心概念:ActiveTcl和Expect。ActiveTcl是Tcl(Tool Command Language)的一种实现,它是一个开源的脚本语言,常用于系统管理、GUI开发以及网络编程等领域。...
本人原创使用expect无值守安装(卸载)DB2数据库脚本,其中安装DB2数据库可以将数据库的用户、用户组、密码设置、端口设置多个环节用脚本一次执行;该脚本已经在红旗Asianux server 3下执行通过。
本安装包包含的是 Expect 5.45 版本和 Tcl 的集成,它们一起提供了丰富的功能,用于自动化执行那些通常需要人工干预的任务。 **Expect 简介** Expect 是由 Don Libes 在1990年代初开发的,它的设计目标是处理那些...