Java与机器交互神器插件expect

本文介绍了在面临SSH和Telnet连接华为设备困难时,如何转向使用EXPECT插件来解决问题。EXPECT作为一种神器,成功地实现了对独特登录方式的华为机器执行Linux命令。文章详细阐述了EXPECT的安装、核心JAVA代码的调用以及expect脚本的编写,包括流程控制的示例,强调了超时时间和多线程支持的重要性。作者分享了实战经验,欢迎交流讨论。
摘要由CSDN通过智能技术生成
<p>2015年我在参与一个通讯行业的DNS管理的系统,需求是从厂家的一些设备采集原始数据并分析,生成一定规则的DNS数据。</p>

当时连接设备有SSH和Telnet两种方式。做这个系统开始时没有经验,就在网上找相关的资料,想采用JAVA代码直接实现。

SSH采用的是ganymed-ssh2-build210.jar ,Telnet采用的是ommons-net-3.3.jar包,相关的代码网上很多,这个估计折腾了半个多月,最终已失败告终。

因为华为机器的登陆方式独特,这个公共包无法满足登陆并执行linux命令,并且有些机器用这些JAR包根本连接不上去。后来在我们老大的帮助下,提供了EXPECT方式。也就是我所提到的神器,解决了这个问题。

这个Expect是一个插件。安装说明

A. Tcl 安装 

1.获取源码包,首先在特定目录下建一个expect,放源码包。
cd 特定目录
mkdir expect

tcl8.4.11-src.tar.gz

2.解压缩源码包,如果没有权限,用root赋权。
tar xfvz tcl8.4.11-src.tar.gz

3.安装配置
cd tcl8.4.11/unix
./configure --prefix=特定目录/expect/tcl --enable-shared
make
make install

安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子目录generic中。
暂时不要删除tcl源代码,因为expect的安装过程还需要用。

cp tclUnixPort.h ../generic

B. expect 安装

1.获取源码包
expect
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值