expect作为交互式工具,可以在命令或程序执行时,已交互的形式输入执行字符,实现自动化交互通信。

可将expect看作是另一种shell,只不过expect有特有的语法

语法:

spawn执行命令或程序--expect获取匹配的关键字--send发送指定字符进行交互--退出

expxct工具需要提前安装,执行yum -y install expect

场景:需要与多个服务器建立链接后进行操作

#!/usr/bin/expectset ipaddress "xxx.xxx.xxx.xxx"
set passwd "password"
set name "name"
set timeout 30 #设置超时时间spawn ssh -p port  $name@$ipaddress #交互程序开始后面跟命令或者指定程序expect {
"yes/no" {send "yes\r";exp_continue} #获取匹配的关键字并对应发送
"password" {send "$passwd\r"}     #\r为回车必须要加
}
interact #保持交互状态
expect eof #expect执行结束 退出

场景:批量修改过期密码

#!/bin/bashfor i in `cat hostip.txt`
do/usr/bin/expect << EOFspawn /usr/bin/ssh root@$iexpect {"UNIX password" { send "old\r" }}expect {"New password:" { send "new#\r" }}expect {"Retype new password:" { send "new\r" }}expect "*]#"send "echo new|passwd --stdin root\r"expect "*]#"send "exit\r"expect eof
EOF
done

expect命令简介及使用案例相关推荐

  1. Linux之expect命令,以及实战使用!!!

    目录 expect工具介绍 一. expect 简介 二. expect工作原理 三. 基本语法 1.实例简介 2.expect 启动选项: 3.expect 命令参数: 四. 实例展示: 1.cen ...

  2. Shell脚本学习之expect命令

    一.概述 我们通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而expec ...

  3. linux wc 命令简介

    此wc命令不是让大家没有食欲的地方.而是linux下一个简单的小命令. NAME wc - word, line, character, and byte count SYNOPSIS wc [-cl ...

  4. shell脚本——expect命令

    一.对expect的基本了解 我们通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互 ...

  5. WINCE cvrtbin命令简介

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

  6. Database之SQLSever:SQL命令实现的高级案例集合之单表/多表(筛选、统计个数)之详细攻略

    Database之SQLSever:SQL命令实现的高级案例集合之单表/多表(筛选.统计个数)之详细攻略 目录 一.sql实现筛选 1.单个表筛选 1.1.简单筛选 1.2.嵌套筛选

  7. find与grep命令简介及正则表达式(转)

    find与grep命令简介及正则表达式 两个更为有用的命令和正则表达式 在我们开始学习新的Shell编程知识之前,我们先来看一下两个更为有用的两个命令,这两个命令虽然并不是Shell的一部分,但是在进 ...

  8. NoSQL数据库Redis使用命令简介

    NoSQL 数据库Redis使用命令简介 NOSQL数据库可以按照它们的数据模型分成4类: 1.键-值对存储库(Key-Value) redis-- 2.BigTable实现(BigTable-imp ...

  9. shell中的expect命令

    原文https://blog.csdn.net/jxdl6655/article/details/78626749 expect可以实现shell实现不了的用户交互的需求.expect可以将交互写在一 ...

最新文章

  1. Linuxmingl
  2. 获取namespace
  3. 大数据集群搭建之Linux的安装(一)
  4. OA,ERP等源码一部分演示
  5. 树莓派 鼠标延迟问题【Linux】
  6. 机器学习经典书籍论文
  7. CentOS 下的包管理工具RPM
  8. JavaWeb开发模式
  9. html 图片触碰有放大效果,CSS3 鼠标滑过图片突出放大效果
  10. OpenCV视频篇——码流 / 码率 / 比特率 / 帧速率 / 分辨率
  11. Android手机投影到电脑屏幕的神兵利器
  12. 为什么Java程序员工资高?
  13. 服务器和PC Server介绍
  14. 简单xss接收cookie平台的搭建以及xss拿cookie的一些总结
  15. redis 失效时间单位是秒还是毫秒_经常用Redis,这些坑你知道吗?
  16. HDU6130-Kolakoski
  17. 规划并优化能在 Google Play 上取得更大成功的游戏
  18. 大数据营销在旅游行业的应用方案
  19. 路由器——计算机网络
  20. PostgreSQL 分区表教程

热门文章

  1. c语言输入算术运算符,运算符算术运算符 - C语言教程
  2. 计算机网络四交换技术,计算机网络数据交换技术发展
  3. 编译原理——SysY编译器实践报告
  4. 练习作业5: 韩信点兵 , 统计方案 , 出现最频的数
  5. 基于凌鸥平台的120° 方波控制 BLDC 无感 比较器反电动势过零点
  6. 【缺陷管理】9:偶尔出现的缺陷如何处理?
  7. 【写文工具】常用文字表情
  8. Oracle中编码与字符转换
  9. 输入带空格的字符数组
  10. unity中禁用或启用游戏对象