一、大纲

1.Expect概述

2.Expect安装(底层语言Tcl)

3.Expect基本命令

4.Expect执行方式

5.Expect案例

一、Expect概述

1.Expect是建立在tcl语言基础上的一个工具,Expect是用来进行自动化控制和测试的工具。主要解决shell脚本中不可交互的问题。对于大规模的linux运维很有帮助。

2.在linux运维和开发中,我们经常需要远程登录服务器进行操作,登录的过程是一个交互的过程,可能会余姚输入yes/no password等信息。为了模拟这种输入,可以使用Expect脚本。

二、Expect安装

1.挂载光盘

2.制作本地YUM源

执行安装命令:yum -y intall expect

三、基本命令

1.send

向进程发送字符串,用于模拟用户的输入

该命令不能自动回车换行,一般要加(回车)

2.expect

expect的一个内部命令判断上次输出结果里是否包含指定的字符串,如果有则立即返回,否则就等待超时时间后返回

只能捕捉由spawn启动的进程的输出

3.spawn

启动进程,并跟踪后续交互信息

4.interact

执行完成后保持交互状态,把控制权交给控制台

5.Timeout

指定超时时间,过期则继续执行expect脚本后续指令

单位是:秒

timeout -1为永不超时

默认情况下,timeout是10秒

6.exp_continue

允许expect继续向下执行指令

7.send_user

回显命令,相当于echo

8.$argv参数数组

Expect脚本可以接受从bash传递的参数,可以使用[lindex $argv n]获得,n从0开始,分别表示第一个,第二个,第三个....参数

TIP

Expect脚本必须以interact或expect ecof结束,执行自动化任务通常expect eof就够了

expect eof实在等待结束标志。由spawn启动的命令在结束时会产生一个eof标记,expect eof即在等待这个标记

四、Expect执行方式:

直接执行

五、案例

远程登录

嵌入执行

登录远程控制后自动退出

EOF容错只能容制表符TAB,但是空格不行

创建用户tom,密码tom123

![]

SSH远程登录代码健壮版

pexpect oracle,expect免交互脚本编程相关推荐

  1. Expect 自动化控制和测试 Here Document 免交互 Linux- shell编程之免交互

    shell编程之免交互 一.免交互 ① Here Document 免交互 ② 语法格式 ③ 注意事项 ④ 支持变量替换 二.Expect ① 基本命令 ② expect直接执行,需要使用expect ...

  2. hell脚本之免交互(EOF免交互、Expect免交互)

    这里写目录标题 免交互 Here Document 免交互 支持变量替换 整体赋值给变量 关闭变量替换的功能 去掉每行之前的 TAB 字符或者空格 多行注释 Expect 基本命令 spawn exp ...

  3. expect自动化交互脚本(一)

    最近在弄ansible的时候,每次使用的时候都要输入密码感觉非常的麻烦,起初是一台一台做无密码验证,但是效率太低.了解到linux是可以批量做部署的,但是需要使用expect脚本来完成. expect ...

  4. 以某一用户名和密码 登录请求脚本_linux expect自动交互脚本

    1.expect参数 2.启用选项 -c :执行脚本前先执行的命令,可多次使用.-d :debug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用 exp_internal 1 相似.-D :启 ...

  5. shell编程之Expect免交互(expect流程命令,内容命令,其他命令和expect执行方式(直接执行和嵌入执行)

    文章目录 前言 一:Expect概述 二:Expect基本命令 2.1:Expect安装 2.2:基本命令(expect流程命令) 2.3:基本命令(expect内容命令) 2.4:基本命令(expe ...

  6. 【拔刀吧少年】之Expect 自动化控制和测试 Here Document 免交互

    免交互 一.Here Document免交互 1.1 概述 1.2 语法格式 1.3 简单案例 1.4 支持变量替换 1.5 多行注释 1.6 完成自动划分磁盘免交互 二.Expect进行免交互 2. ...

  7. Shell脚本之免交互

    Shell脚本之免交互 一.Here Document 免交互 1.1 Here Document 免交互的概念 1.2 语法格式 1.3 相关实例 二.Expect免交互 2.1 基本命令 2.2 ...

  8. Shell编程之免交互(Here Document、Expect(直接与嵌入执行))

    Shell编程之免交互(Here Document.Expect)(直接与嵌入执行) 一:Here Document 1.1:Here Document概述 1.2:Here Document使用注意 ...

  9. shell脚本详解(十二)——Here Document免交互及Expect自动化交互

    shell脚本详解(十二)--Here Document免交互及Expect自动化交互 一.Here Document 免交互 1.格式 2.注意事项 3.免交互方式实现对行数的统计,将要统计的内容置 ...

最新文章

  1. IntelliJ IDEA 中,英官网 - 下载地址
  2. unordered_map自定义key
  3. 笔记本电脑怎么清理灰尘_手机声音越用越小怎么办?一段黑科技音波就能清理扬声器灰尘...
  4. [转]Angular2 使用管道Pipe以及自定义管道格式数据
  5. 编码-京东实习笔试编程题-糖果问题-动态规划
  6. 开源备份web_13个开源备份解决方案
  7. linux lsof
  8. unity android屏幕自适应,Android应用开发之unity打开移动摄像头,并自适应屏幕显示摄像头数据。兼容android和ios...
  9. 浅谈Entity Framework中的数据加载方式
  10. 【转】模块(configparser+shutil+logging)
  11. 请描述osi七层模型,并简要概括各层功能
  12. 疾病抗争从未停止,糖尿病数据可视化分析
  13. 设置mysql数据库为只读
  14. 用SDK包开发K66FX18学习笔记(5)
  15. SVN报错:can't open file db/txn-current-lock:permission denied 解决方法
  16. 最长单词 c++实现
  17. WebClient实现文件下载详解(二)
  18. 导出百度网盘共享文件库目录清单的脚本
  19. transformer学习之多头注意力机制
  20. linux内核启动停止在booting the kernel.

热门文章

  1. RANSAC与 最小二乘(LS, Least Squares)拟合直线的效果比较
  2. 我的软件工程课程目标
  3. 最常见的208道Java最新面试题及答案(一)
  4. luogu4407 [JSOI2009]电子字典 字符串hash + hash表
  5. Spring Boot(一)—— Spring Boot 入门
  6. tensorflow import 没找到cudnn库问题解决
  7. WP7 WMAppManifest.xml各个属性作用
  8. 大话设计模式—单例模式
  9. 简单了解Python网络爬虫
  10. mysql数据库优化大全