expect命令简介及使用案例
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命令简介及使用案例相关推荐
- Linux之expect命令,以及实战使用!!!
目录 expect工具介绍 一. expect 简介 二. expect工作原理 三. 基本语法 1.实例简介 2.expect 启动选项: 3.expect 命令参数: 四. 实例展示: 1.cen ...
- Shell脚本学习之expect命令
一.概述 我们通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而expec ...
- linux wc 命令简介
此wc命令不是让大家没有食欲的地方.而是linux下一个简单的小命令. NAME wc - word, line, character, and byte count SYNOPSIS wc [-cl ...
- shell脚本——expect命令
一.对expect的基本了解 我们通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互 ...
- WINCE cvrtbin命令简介
********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...
- Database之SQLSever:SQL命令实现的高级案例集合之单表/多表(筛选、统计个数)之详细攻略
Database之SQLSever:SQL命令实现的高级案例集合之单表/多表(筛选.统计个数)之详细攻略 目录 一.sql实现筛选 1.单个表筛选 1.1.简单筛选 1.2.嵌套筛选
- find与grep命令简介及正则表达式(转)
find与grep命令简介及正则表达式 两个更为有用的命令和正则表达式 在我们开始学习新的Shell编程知识之前,我们先来看一下两个更为有用的两个命令,这两个命令虽然并不是Shell的一部分,但是在进 ...
- NoSQL数据库Redis使用命令简介
NoSQL 数据库Redis使用命令简介 NOSQL数据库可以按照它们的数据模型分成4类: 1.键-值对存储库(Key-Value) redis-- 2.BigTable实现(BigTable-imp ...
- shell中的expect命令
原文https://blog.csdn.net/jxdl6655/article/details/78626749 expect可以实现shell实现不了的用户交互的需求.expect可以将交互写在一 ...
最新文章
- Linuxmingl
- 获取namespace
- 大数据集群搭建之Linux的安装(一)
- OA,ERP等源码一部分演示
- 树莓派 鼠标延迟问题【Linux】
- 机器学习经典书籍论文
- CentOS 下的包管理工具RPM
- JavaWeb开发模式
- html 图片触碰有放大效果,CSS3 鼠标滑过图片突出放大效果
- OpenCV视频篇——码流 / 码率 / 比特率 / 帧速率 / 分辨率
- Android手机投影到电脑屏幕的神兵利器
- 为什么Java程序员工资高?
- 服务器和PC Server介绍
- 简单xss接收cookie平台的搭建以及xss拿cookie的一些总结
- redis 失效时间单位是秒还是毫秒_经常用Redis,这些坑你知道吗?
- HDU6130-Kolakoski
- 规划并优化能在 Google Play 上取得更大成功的游戏
- 大数据营销在旅游行业的应用方案
- 路由器——计算机网络
- PostgreSQL 分区表教程