expect实现无交互操作】的更多相关文章

按两下tab linux总共2000个命令,,常用的200个命令. 只要文件改变了,MD5值就会变!…
#!/usr/bin/expect set ip '192.168.4.5' set ' set timeout spawn ssh root@$ip expect { "yes/no" {send "yes\r";exp_continue} "password:" {send "$pwd\r"} } interact # 保持在远程终端 #!/usr/bin/expect set ip [lindex $argv ] # 第…
在linux下进行一些操作时,有时需要与机器进行一些交互操作,比如切换账号时输入账号密码,传输文件时输入账号密码登陆远程机器等,但有时候这些动作需要在shell脚本中进行,这个时候就可以使用expect来进行自动的交互操作,从而避免需要人工干预引起的脚本中断执行. expect的核心命令:spawn expect send set spawn 调用要执行的命令expect 等待命令提示信息的出现,也就是捕捉用户输入的提示:send 发送需要交互的值,替代了用户手动输入内容set 设置变量值int…
开发环境搭建参见<[原]无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页> 需求: ① 除了登录页面,在地址栏直接访问其他URL,均跳转至登录页面 ② 登录涉及帐号和密码,帐号错误提示帐号错误,密码错误提示密码错误 ③ 登录成功跳转至首页,首页显示登录者帐号信息,并有注销帐号功能,点击注销退出系统 ------------------------------------------------------------------…
关于主内存与工作内存之间具体的交互协议,即一个变量如何从主内存拷贝到工作内存,如何从工作内存同步回主内存之类的实现细节,java内存模型中定义了8种操作来完成,虚拟机实现时必须保证这8种操作都是原子的.不可分割的(对于long和double类型的变量来说,load.store.read跟write在某些平台上允许例外). 8种基本操作: lock,锁定,所用于主内存变量,它把一个变量标识为一条线程独占的状态. unlock,解锁,解锁后的变量才能被其他线程锁定. read,读取,所用于主内存变量…
1. 说明 在编写脚本时,可能会遇到需要在另一台主机上执行一个命令,或者在本机拷贝另一台主机内的一个文件.如果两台主机之间没有做互信,就会牵扯到用户输入密码的交互过程,这对编写自动脚本来说, 就行不通了. 要实现在脚本内的自动交互,就需要 expect 2.  expect 命令介绍 expect 是一个用来处理交互的命令.借助 expect 可以将交互过程写在一个脚本里,就可以实现自动化完成.上面的问题也能得到解决. 形象来说,如下命令的交互都能得到解决: ssh scp ftp CentOS…
如果想写一个能够自动处理输入输出的脚本又不想面对C或Perl,那么expect是最好的选择.它可以用来做一些Linux下无法做到交互的一些命令操作. (1).安装和使用expect expect是不会自动安装的所以需要使用命令进行安装,这里使用yum即可: [root@xuexi ~]# yum -y install expect 在脚本中使用expect的方法一般有两种: 第一种.定义脚本执行的shell时,定义为expect.即脚本第一行为#!/bin/expect或#!/usr/bin/e…
基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------------------------------------------------------------------------------------------- 1.使用WebStorm创建node.js express应用程序,express框架可以根据使用者的爱好设置页面引擎,默认为j…
Win32 OpenProcess打开进程失败,返回5无权限操作,相信你会碰到这样的事,在IDE中可以,单独却不可以了,其实这时就需要提权了,否则是无法打开的,OpenProcess提权至Debug即可,不说多的,直接分享代码 //提升权限为DEBUG,处理GetLastError返回5 无权限操作错误 BOOL EnableDebugPrivilege(){ HANDLE hToken; BOOL fOk=FALSE; if(OpenProcessToken(GetCurrentProcess…
原文链接:http://blog.sina.com.cn/s/blog_45eaa01a01013u36.html C# winForm启动最小化到任务栏右侧通知栏并交互操作 一.主要功能:(1).程序启动自动隐藏到任务栏右侧通知栏显示.(与系统托盘同义)(2).双击系统托盘图标显示.隐藏窗口:(3).右击系统托盘图标提供三个菜单选项,“退出”.“隐藏”.“显示”: 二.相关控件:1.建一个WinForm程序—IconForm,将Form属性ShowInTaskbar改为false,这样程序将不…
selenium2支持无界面操作(HtmlUnit和PhantomJs) selenium2支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动真实浏览器完成测试的. 其实selenium也是支持无界面浏览器操作的.比如说HtmlUnit和PhantomJs.他们都不是真正的浏览器,运行时不会渲染页面显示内容,但是支持页面元素查找,js的执行等:由于不进行css和gui渲染,运行效率要比真实的浏览器…
最近在测试一些h5页面,突然悟到一些测试点 需求点: 用户可以在页面领取礼物,领取的礼物在页面底部展示,用户点击礼物可调起分享弹窗,礼物超过一屏可左右滑动, bug的表现形式: 仅当礼物超过一屏时(一行),点击礼物无法调起分享弹窗(此问题仅在Android机上可复现,ios无法复现) 问题原因: 1.前端开发在开发使用了最新版本滑动控件,这个最新的控件需要对属性进行配置,比如点击事件等 研发使用了新控件,没有对属性值进行配置 2.问题为什么只在Android上可复现? Android原生系统对较…
看了下网上关于链表的无锁操作,写的不清楚,遂自己整理一部分,主要使用concurrent并发包的CAS操作. 1. 链表尾部插入 待插入的节点为:cur 尾节点:pred 基本插入方法: do{ pred = find_tail(); //重新找尾节点 }(! pred.next.compareAndSet(NULL, cur)) //pred.next 是否为NULL,是则将其指向cur,不是则有新的节点插入 这种插入方法是不带标记的,如果不涉及链表删除这个方法是可行的. 但是如果有删除操作,…
上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现Shiro的基础授权. 需求: ① 某系统有公共模块.领导模块.管理员模块三个业务模块,均需要登录系统后才可以访问. ② admin.leader.employee三个人职位分别是管理员.领导.员工,均可登录系统. ③ 不同职位的人登录系统后,能看到的功能模块不同.管理员可以访问全部三个模块.领导可以访问除去…
expect实现自动交互由浅入深 作为运维人员可以通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而Expect就使用来实现这种功能的工具.Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预. 安装expect,直接yum install expect -y expect中相关命令 命令 解释 spawn 启动新的进程 send 用于向…
Easyui中的Tree组件使用频率颇高,经常遇到的需求如下: 1.在树形结构上,只有叶子节点才能被选中,其他节点不能被选中: 2.在叶子节点上右键出现浮动菜单实现新增.删除.修改操作: 3.在非叶子节点上右键出现浮动菜单实现新增.修改操作. ------------------------------------------------------------------------------------------------------------------ 实现方法如下: 1.搭建测…
 父页面 Father.htm 源码如下:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title&g…
Silverlight和JavaScript交互介绍以及简单Demo演示,主要包括JavaScript操作Silverlight数据.Silverlight操作JavaScript数据以及数据模版绑定数据. 1.Silverlight和JavaScript概念 可能有的朋友对于这两技术都很熟悉,有的可能不是很熟悉,为了下面好理解简单介绍一下. (1).JavaScript JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有相对安全性的客户端脚本语言.同…
//设置自动启动 string path = Application.StartupPath; SettingHel.SetAutoRun(path +@"\MostImpressive.DSCJ.DcbInterface.exe", true); public static class SettingHel { /// <summary> /// 设置应用程序开机自动运行 /// </summary> /// <param name="file…
一.ES的安装与启动 1.ES安装(Windows环境) 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 版本:6.3.2 运行环境:jdk1.8以上 双击.bat启动 2.查看效果 浏览器输入:http://localhost:9200,返回如下json. { "name" : "RDFnj43", "cluster_name" : "elast…
问题现象: 有时系统设置了一种文件,无法编辑其所有权​ sudo chown users:username {filename} 或者root用户下执行 chown users:username {filename} 但是无权限操作 Operation not permitted 解决方法:​ 执行命令sudo chattr -i {filename} 其中{filename}为要解决的文件名    lsattr -a命令查询示例以及chattr命令设置的其它文件属性解释: + :在原有参数设定…
SELENIUM2支持无界面操作(HTMLUNIT和PHANTOMJS) selenium2支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动真实浏览器完成测试. 除此之外,selenium也是支持无界面浏览器操作的.比如说HtmlUnit和PhantomJs.他们都不是真正的浏览器,运行时不会渲染页面显示内容,但是支持页面元素查找,js的执行等:由于不进行css和gui渲染,运行效率要比真实的浏…
HBase与Hive交互操作 1.环境准备 因为我们后续可能会在操作Hive的同时对HBase也会产生影响,所以Hive需要持有操作HBase的Jar,那么接下来拷贝Hive所依赖的Jar包(或者使用软连接的形式). $ export HBASE_HOME=/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/ $ export HIVE_HOME=/opt/modules/cdh/hive-0.13.1-cdh5.3.6/ $ ln -s $HBASE_HOME/lib…
1.背景 在面向shell编程时对于需要交互的场合则必须通过人工来干预,而对于这种方式是违反无人职守的原则:现在expect就解决了这个问题, Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预. Expect是在Tcl基础上创建起来的,用来做一些linux下无法做到交互的一些命令操作,在远程管 理方面发挥很大的作用. spawn命令激活一个Unix程序来进行交互式的运行.     send命令向进程发送字符串.    expect 命令等待进程的某些字符串.…
场景 需要实现执行一个命令,并自动输入密码. 实现 通过expect命令实现 spawn               交互程序开始后面跟命令或者指定程序expect               获取匹配信息匹配成功则执行expect后面的程序动作(当出现expect后面的字符串时,就执行后续的命令)send exp_send 用于发送指定的字符串信息exp_continue    在expect中多次匹配就需要用到send_user         用来打印输出 相当于shell中的echoex…
应用场景: 为了使Android移动项目能够在较短的时间内完成开发,同时降低技术人员开发的成本投入,往往会采用Hybrid APP的开发模式.相关Hybrid APP(混合型应用)参看:http://blog.csdn.net/mahoking/article/details/30235243 采用这种模式,为了解决更好的用户体验,可访问本地资源的能力.势必需要了解与掌握Android(java)与JavaScript之间的交互.相互调用操作的方法与技术. [转载使用,请注明出处:http://…
Q:利用shell脚本实现ssh自动登录远程服务器? A:expect命令 #!/usr/bin/expect spawn ssh root@172.16.11.99 expect "*password:" send "rootzhang\r" expect "*#" interact #!/usr/bin/expect //告诉操作系统,此脚本里的代码用expect这个shell来执行(类似与bash) shell> expect 脚本…
背景 有需求,在允许命令或者脚本跳出交互行,需要进行内容输入,但需要人手动输入,不是很方便,此时可以通过expect来实现自动互动交互. expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的.如安装软件是时的一些提示,ssh远程主机执行命令时需要多次输入密码的情况. 安装expect 安装依赖:yum install tcl -y 安装expect:Centos系统yum install expect -y或Ubuntu系统ap…
背景 有需求,在允许命令或者脚本跳出交互行,需要进行内容输入,但需要人手动输入,不是很方便,此时可以通过expect来实现自动互动交互. expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的.如安装软件是时的一些提示,ssh远程主机执行命令时需要多次输入密码的情况. 安装expect 安装依赖:yum install tcl -y 安装expect:Centos系统yum install expect -y或Ubuntu系统ap…
这里我们用Windows下的shell来举例: from subprocess import * #因为是举例,就全部导入了 为了方便你理解,我们用一个很简单的一段代码来说明: 可以看见我们利用Popen实例化了一个p,创建了子程序cmd.exe,然后我们给他的的Stdin(标准输入流)Stdout(标准输出流); 同时使用了subprocess.PIPE 作为参数,这个是一个特殊值,用于表明这些通道要开放.(在Python3.5,加入了run()方法来进行更好的操作) 然后我们继续 这些信息是…