Expect 入门

一,      Expect的作用

Expect广泛应用于交互式操作和自动化测试的场景之中,用来实现自动和交互式任务进行通信,而无需人的干预。

二,      Ubuntu安装Expect

sudo apt-get install expect

安装后的位置/usr/bin/expect

三,      使用Expect

例子:

#!/usr/bin/expect                #这一行告诉操作系统脚本里的代码使用哪一个shell来执行。注意:这一行需要在脚本的第一行。

set timeout 30                   #设置超时时间

spawn sudo shutdown -h now      #spawn   意思是执行命令

expect "密码:"                   #expect  等待进程的某些字符串

send "123456\r"                  #send    执行交互动作,send的内容要与 “\r”结尾

expect eof 

exit                           #exit    结束
时间: 2024-10-28 21:11:46

Expect 入门的相关文章

小型自动化运维--expect入门知识

小型自动化运维--expect入门知识 Expect的自动交互工作流程简单说明: spawn启动指定进程-->expect获取期待的关键字-->send向指定进程发送指定字符-->进程执行完毕,退出脚本. spawn命令 如果没有spawn命令,expect程序将会无法实现自动交互. spawn命令的语法为: spawn [选项] [需要自动交互的命令或程序] 例如:spawn ssh [email protected] uptime 说明:在spawn命令的后面,直接加上要执行的命令或

expect入门--自动化linux交互式命令

很多linux程序比如passwd,ftp,scp,ssh等自身并没有提供一种静默式的执行选项,而是依赖于运行时的终端输入来进行后一步的操作比如更改密码.文件上传.下载等.虽然有些编程语言如java嵌入了不少这些常用工具的API比如jcsh等,但是毕竟他们不够自然和顺手. expect是unix/linux下的一个命令行工具,其使用tcl作为编程语言开发.其主要的功能就是模拟终端用户控制交互式应用程序.

linux expect命令使用入门

expect的核心是spawn expect send set spawn:spawn是进入expect环境后才可以执行的expect内部命令,相当于shell中的内置命令,通过它,调用需要执行的命令 expect:捕获提示 send:发送交互值(结尾需要加上\n) set:设置变量 interact:执行完保留交互状态 expect eof :与spawn对应表示捕获终端输出信息终止 $argv :相当于c语言中的参数变量,接收bash传过来的参数.取值方式,索引方式[lindex $argv

shell入门之一

第1章 shell入门   shell是一个命令解释器,它的操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种二样的操作系统的输出结果,输出屏幕返回给用户   对话的方式可以是:   交互式方式:从键盘输入命令,通过/bin/bash 解析,可以立即得到shell的回应   非交互式方式:脚本   1.1 下图就是命令解释器: shell是英文是贝壳的意思,命令解释器shell像一个贝壳一样包住系统核心 shell执行的命令分为两种方式: 内置命令:如讲过的cd . p

编程入门指南

前言 如今编程成为了一个越来越重要的「技能」:作为设计师,懂一些编程可能会帮你更好地理解自己的工作内容:作为创业者,技术创始人的身份则会让你的很多工作显得更容易.而作为刚想入门的新手,面对眼前海量的信息,或许根本不知道从哪里开始:入门轻松度过初级材料的学习后,发现学习越来越困难,陡峭的学习曲线又让你望而却步:你知道如何在页面上打印输出一些文本行,但是你不知道何时该进行一个真正的有用的项目:你不清楚自己还有哪些不知道的东西,你甚至搞不清下一步该学什么. 这篇文章的内容对此不仅会有一些方向性的建议,

avalonjs1.5 入门教程

迷你MVVM框架 avalonjs1.5 入门教程 avalon经过几年以后,已成为国内一个举足轻重的框架.它提供了多种不同的版本,满足不同人群的需要.比如avalon.js支持IE6等老旧浏览器,让许多靠政府项目或对兼容性要求够高的公司也能享受MVVM的乐趣.avalon.modern.js支持IE10以上版本,优先使用新API,性能更优,体积更少.avalon.mobile.js在avalon.modern的基础提供了触屏事件的支持,满足大家在移动开发的需求.此外,它们分别存在avalon.

30分钟QUnit入门教程

30分钟Qunit入门教程 15分钟让你了解Javascript单元测试框架QUnit,并能在程序中使用. QUnit是什么 QUnit是一个强大,易用的JavaScript单元测试框架,由jQuery团队的成员所开发,并且用在jQuery,jQuery UI,jQuery Mobile等项目. Hello World 学习QUnit还是从例子开始最好,首先我们需要一个跑单元测试的页面,这里命名为index-test.html: <!DOCTYPE html> <html> <

Jasmine入门

本文是jasmine学习整理文章.适合入门,是作者参考了网上三篇文章之后,自己整理的. 初学者可以百度进入jasmine官网,点击release菜单进入github的版本释放页面:https://github.com/jasmine/jasmine/releases:下载最近的版本.下载之后 目录结构解释一下: lib:存放了运行测试案例所必须的文件,其内包含jasmine-2.2.0文件夹.可以将不同版本的Jasmine放在lib下,以便使用时切换. jasmine.js:整个框架的核心代码.

expect小结

一直都在想linux下有没有像windows下的QTP那么神奇的工具.直到接触到expect命令以后. 这是一个神奇的工具,它可以让你轻易的实现密码的自动输入.也可以轻易的对需要持续运行的程序完成自动化. 对于expect,我的理解还属于刚刚入门. expect是一个命令集.一般linux并不自带这个命令,需要进行安装,ubuntu的安装方式是sudo apt-get install expect.默认这个小东西已经在软件源中了. 安装好以后就可以安心使用啦.expect内部包括的命令常用的有: