作用

工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。

利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行

“模式-动作”,expect 匹配到一个模式,就执行对应的动作

常用命令

  • spawn

    *spawn命令用来启动新的进程,spawn后的send和expect命令都是和使用spawn打开的进程进行交互
  • expect 匹配模式

    *expect等待一个进程的反馈,我们根据进程的反馈,再发送对应的交互命令
  • send

    *send命令将字符串(可以是变量)发送到进程
  • \r表示确认操作或者换行
  • 注意空格
  • interact

    *interact用于退出自动化,进入人工交互
#! /usr/bin/expect -f
set user //设置变量
set host
set password spawn ssh $user@$host
expect "*password:*"
send "$password\r"
interact
expect eof

最新文章

  1. Java的学习之路
  2. svn清理失败且路径显示乱码
  3. 【转】SQL Server中关于跟踪(Trace)那点事
  4. css 样式设计(一)( 在线150个例子 | 背景 | 文本 | 字体 | 链接 | 列表 | 表格 | 盒模型 | 边框 | 轮廓 | 边距 | 填充 |分组和嵌套 | 尺寸 | 定位 | 浮动 |对齐 )
  5. Android OkHttp详解
  6. Session笔记
  7. js 添加enter事件
  8. 【随记】还原SQL Server数据库步骤
  9. Color the ball
  10. 分割gbk中文出现乱码的问题解决
  11. JS 之设置元素样式的改变,可以利用样式框架
  12. js实现谷歌坐标转百度坐标
  13. 回归模型效果评估系列1-QQ图
  14. SOFA 源码分析— 自定义路由寻址
  15. 【转载】 .NET框架设计—常被忽视的C#设计技巧
  16. PHP中empty,isset,is_null的区别
  17. 微软 microsoft calendar control 11.0 控件下载
  18. AWT初步— 事件处理模型
  19. bugly中批量隐藏版本
  20. gpg无法生成密钥对的问题

热门文章

  1. python-21-生成器又是什么东西?
  2. C++ Primer 抄书笔记(二)——变量和基本类型(上)
  3. TP6文档-邓士鹏
  4. .Net Core通过json文件 配置管理后台导航菜单
  5. 简述react、redux、react-redux、redux-saga、dva之间的关系
  6. ECMAScript 6基础
  7. Vue中echarts的使用
  8. 优先级队列-堆-STL实现
  9. C#排序算法的实现---冒泡排序
  10. Mac常用命令行