expect应用一例

Expect简介与应用场景 一、简介 1、EXPECT是一个用来实现自动交互功能的软件套件(EXPECT is a software suite for automating interactive tools),用于提供自动交互的工具。 2、在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则可以根据程序的提示,模拟标准输入... 阅读详情
 注:执行需要安装有expect解释器
检查netscreen防火墙
shell+expect编写
shell代码如下,重复执行expect调用,list.txt文件为要检查的防火墙信息
其它设备检查也可做参考(应用于telnet)
savedate=$IFS
IFS=':'
filelog="`date +%Y-%m-%d`.log"
 > $filelog
while read ipaddr username password
do
   > "$ipaddr.log"
   date +%Y-%m-%d >> "$ipaddr.log"
   echo "$ipaddr" >> "$ipaddr.log"
   expect getmessag.exp  $ipaddr $username $password | tee -a "$ipaddr.log"
done < list.txt   /*要检查的设备IP,用户名,密码列表
echo "***************************************************"
echo "now get the important message....."
IFS=':'
while read  ipaddr username password
do
   sed -n '1,2p' "$ipaddr.log" >> $filelog
   grep "Average" "$ipaddr.log"| awk -F": " '{print $2}' >> $filelog
   grep "^Memory:" "$ipaddr.log"| awk -F" " '{print $3,$5}' |awk -F"," '' >> $filelog
   grep "^alloc" "$ipaddr.log"|awk -F" " '{print $2}' | awk -F"/" '{print $1}' >> $filelog
   rm $ipaddr.log
done < list.txt
IFS=$savedate
  

expect程序代码如下
set timeout 4
set ipaddr [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
spawn telnet 132.108.19.1
expect "login:"
send "用户名/r"
expect "*: "
send "密码/r"
expect "*>"
send "telnet $ipaddr/r"
expect "login:"
send "$username/r"
expect "password:"
send "$password/r"
expect "*->"
send "get performance cpu/r"
expect "*->"
send "get memory/r"
expect "*->"
send "get session | include alloc/r"
expect "*->"
send "exit/r"
expect "*>"
send "exit/r"
expect eof


list.txt文件格式如下

192.168.10.6:用户名:密码
192.168.10.16:用户名:密码
192.168.10.60:用户名:密码
192.168.10.7:用户名:密码
192.168.10.9:用户名:密码
Tcl & Expect 1. 流程 运行一个Expect程序 spawn寄生目标程序,接管目标程序的输入输出 expect判断目标程序的输出,做相应逻辑判断 send用来向目标程序输入 interact将控制权交给用户 2. spawn 寄生目标程序,接管目标程序的输入输出,这通常都是expect脚本的第一步,默认情况下,spawn会回显命令名称和参数,可以用-noec... 阅读详情

相关推荐

【深度强化学习】(2) Double DQN 模型解析,附Pytorch完整代码

Double DQN 算法是 DQN 算法的改进版本,解决了 DQN 算法过估计行为价值的问题。Double DQN 算法不直接通过最大化的方式选取目标网络计算的所有可能 Q 值,而是首先通过估计网络选取最大 Q 值对应的动作。在 Double DQN 框架中存在两个神经网络模型,分别是训练网络与目标网络。这两个神经网络模型的结构完全相同,但是权重参数不同;每训练一段之间后,训练网络的权重参数才会复制给目标网络。

博观而约取,厚积而薄发 1万+

批量验证防火墙是否开通(shell+ansible+telnet)

批量telnet

zouzou_888的博客 1040

阿里云CDN HTTPS 证书配置流程

可以使用HTTPS方式访问资源,如果浏览器中URL旁边出现锁的HTTPS标识,表示HTTPS安全加速已生效。: 证书配置完成后,需要留意证书过期时间并在证书过期前手动配置新的证书。注意 ⚠️ 一定是需要复制 以下标识之间的内容。如果已在阿里云数字证书管理服务中购买了证书,请选择。,该证书将在阿里云数字证书管理服务中保存。如果使用第三方服务商签发的证书,请选择。第四步,在指定域名的左侧导航栏,单击。第二步,在左侧导航栏,单击。开关,并配置证书相关参数。页面,找到目标域名,单击。中选择已购买的证书。

w风雨无阻w的专栏 2211

Shell编程之免交互

一、Here Document免交互 1.1Here Document概述 使用I/O重定向的方式将命令列表提供给交互式程序,标准输入的一种替代品 格式: 命令 <<标记 输入内容 标记 1.2Here Document使用注意事项 标记可以使用任意合法字符 结尾的标记一定要顶格写,前面不能有任何字符 结尾的标记后面也不能有任何字符(包括空格) 开头标记前后的空格会被省略掉 1.3Here Document操作 read命令 只能打印第一行内容 统计行数 .

weixin_45305723的博客 260

FPGA+滨淞CCD实战:手把手教你搭建S7031/S10142成像电路(附避坑指南)

本文详细介绍了使用FPGA驱动滨淞CCD传感器(S7031/S10142)构建高精度成像系统的完整实战流程。内容涵盖核心器件选型、系统架构规划、电路板(焦面板与接口板)设计要点、FPGA Verilog逻辑实现,并提供了从电源管理、信号调理到数据采集的详细避坑指南,帮助读者从零搭建稳定可靠的成像电路。

weixin_29271263的博客 228

2025年人形机器人产业研究

人形机器人是一种模仿人类外形、动作和行为的机器人,旨在替代或辅助人类完成各种任务。其显著特征包括人类外形、动作模仿和智能交互能力。根据形态和功能,人形机器人可分为小型、中型、大型以及服务型、工业型、救援型和娱乐型等类别。发展历程经历了初始阶段、高度集成系统阶段和突破性进展阶段,技术不断进步。关键技术包括执行系统、控制系统和感知与交互系统,涉及机械结构、运动控制、平衡控制、任务执行控制以及感知与交互能力。主要研究方向包括外部仿人化和内部仿生,前者关注外观设计、动作控制和任务执行能力,后者致力于模拟人类核心机制

一名80后IT人的成长记录,记录自己在工作、学习中的点点滴滴,在成长的喜悦与忧心的故事里,铭记反脆弱的勇气。 1572

MAC处理windows上传的txt文件 换行问题

换行符    ‘\n’ 回车符    '\r' windows系统每行结尾:“\r\n” unix系统每行结尾:"\n" mac系统每行结尾:“\r” 在mac中写shell逐行处理文本,会遇到换行符解析问题,纪录解决方法。 逻辑代码如下:(输出每一行的内容) #!/bin/sh while read line do echo $line done  

ZhangBiao 的专栏 5533

EtherCAT主站SOEM -- 0 -- 该EtherCAT主站SOEM专栏后续安排

SOEM(Simple Open EtherCAT Master)是一个开源的EtherCAT主站库,允许开发者构建自定义的EtherCAT主站应用程序。EtherCAT是一种实时以太网通信协议,广泛应用于工业自动化和机器控制领域。开源性质:SOEM是一个开源项目,这意味着开发者可以自由地查看、修改和分发代码。这使其成为工业自动化领域的一个强大工具,可以根据具体需求进行定制。EtherCAT主站实现:SOEM库提供了一个完整的EtherCAT主站实现,允许主站与多个EtherCAT从站设备进行通信。

常驻客栈的博客--嵌入式EtherCAT 6670

干货!一篇文章集合所有Linux基础命令

1 文件{ls -rtl # 按时间倒叙列出所有目录和文件 ll -rttouch file # 创建空白文件rm -rf 目录名 # 不提示删除非空目录(-r:递归删除 -f强制)dos2unix # windows文本转linux文本unix2dos # linux文本转windows文本enca filename # 查看编码 安装 yum install -y encamd5sum #...

weixin_34341117的博客 2597

卫朋:IPD流程落地之产品开发验证阶段解读

IPD验证阶段

产品线负责人 1488

用python画带有正负值的条形图

常见的条形图只能表现数据的大小,却不能表现值的正负关系。但是其实仅仅使用`pandas`和`matplotlib`两个包就可以实现y轴负轴的添加以及负值的显示,并且可以为正负值分别设置不同的颜色,让条形图看上去更加清晰,易于我们分析

weixin_44853840的博客 5384

expect命令在shell脚本中的应用

在shell编程中,经常会用到命令的交互,此时就需要在shell中嵌套expect命令 expect 嵌套在shell中 方法1)shell中使用 expect -c “expect脚本内容” 来完成嵌套 例如:test.sh中内容: 注意: 此时第一行就可以使用默认的脚本版本#!/bin/sh,而不用使用#!usr/bin/expect(即便用的话,echo会报错) 如果未添加 expect eof,则脚本打印出world后,立马打印end; 但是添加了 ec...

modi000的博客 6388

TensorFlow2深度学习实战(十四):目标检测算法 YOLOv4 解析

最易上手的【计算机视觉】小白教程!

不积跬步,无以至千里! 7636

Linux之expect命令

Linux之expect命令 expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。 expect自动交互流程: spawn启动指定进程—expect获取指定关键字—send向指定程序发送指定字符—执行完成退出. 注意该脚本能够执行的前提是安装了expect ...

锦衣 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

expect

例一 基础启用#!/usr/bin/expect

大任的网络专栏 7633

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

《Centos系统——Expect自动化交互式程序应用》

#!/usr/bin/expect spawn ssh root@192.168.179.131 expect password send wudengtian\r expect eof interact

weixin_45842014的博客 1096

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【expect】使用心得

一、expect的安装expect是在tcl的基础上发展起来的,所以在安装expect之前要先安装tcl。 tcl下载地址:[tcl下载地址](http://www.tcl.tk/software/tcltk/downloadnow84.tml) 二、expect的简要说明三、expect的简单用法四、expect进阶五、expect常见问题

snow_114的专栏 8481

expect自动化免交互应用实战

Expect是一个用于实现自动化交互任务的免费编程工具,由Don Libes在1990年开发。它通过模拟终端输入自动执行需要交互的命令或程序,适用于SSH、FTP等场景。文章详细介绍了Expect的安装(基于Tcl语言)、核心命令(spawn启动进程、expect匹配输出、send发送输入)以及脚本编写方法,包括变量设置、条件判断、循环控制等语法。通过修改密码、远程执行命令等实际案例,展示了Expect在系统管理中的自动化应用。最后还讲解了如何在Shell脚本中调用Expect实现批量任务,如自动分发脚本并

共产主义接班人 1002

mac上安装expect 与 expect知识

https://blog.youkuaiyun.com/jw_xuezhixia/article/details/54144116

morning_china的专栏 5424

python expect用法_expect用法

a) spawn: spawn命令是Expect的初始命令,它用于启动一个进程,之后所有expect操作都在这个进程中进行,如果没有spawn语句,整个expect就无法再进行下去了,使用方法就像下面这样:在spawn命令后面,直接加上要启动的进程等信息。当然,如果真的不要spawn过程也没有关系,虽然这样就没有办法单独执行,但是这个脚本可以与任何调用它的进程进行交互。b) expect: exp...

weixin_39795065的博客 4872

sshpass与expect应用

sshpass是一个用于非交互式传递密码的命令行工具,主要用来自动化 SSH 登录和 SCP 文件传输操作。下面是它的基本用法和选项介绍。

Lzcsfg的博客 1484

expect 应用之操作 MySQL

问答频道看到一个关于 expect 命令操作 MySQL 的问题,这个命令没见过,花了半个小时研究了一下,发现这个工具还是有用的,本文整理一下解答该问题的过程,顺便练习一下 Shell 编程。 安装 expect 测试这个脚本时,执行到了 /usr/bin/expect 这一行报文件不存在错误,一搜才知道 expect 是一个命令,需要安装,安装命令为: yum install expect ...

本博客纯属个人网络笔记,如对阁下有用,甚喜;否则,关掉即可,不喜勿喷。专心写代码,不做键盘侠! 2457

gtest中ASSERT与EXPECT断言的区别

参考资料查找到ASSERT断言与EXPECT断言的区别: ASSERT_* 系列的断言,当检查点失败时,退出当前函数(注意:并非退出当前案例)。 EXPECT_* 系列的断言,当检查点失败时,继续往下执行。 其中,对退出当前函数但是不退出当前案例不理解,于是查看了官方文档进行学习 gtest文档地址: https://github.com/google/googletest/blob/mas...

weixin_38988633的博客 1万+

expect安装和使用

1.安装expect 2 expect的一些基本命令选项 3 expect脚本 1.安装expect   1.1 yum 安装   yum安装就比较简单了,直接运行yum install expect就可以了.  yum install expect   1.2 源码安装   源码安装前我们需要安装unzip和gcc  yum install unzip g...

csgd2000的博客 8709

expect 使用说明

EXPECT(1) General Commands Manual EXPECT(1) NAME expect - programmed dialogue with interactive programs, Versi...

yibaifei的专栏 1846
上一篇: WINDOWS下使用EXPECT的简单例子
下一篇: 关于expect使用ssh的问题
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值