神奇的expect】的更多相关文章

想写自动化脚本的时候,遇到需要交互的,如ssh,scp,就束手无策,直到我知道了expect. expect 有一系列expect-send对组成,就像聊天一样. expect A send B expect C send D 先来个例子 #!/usr/bin/expect set timeout 5 spawn ssh 192.168.2.38 expect "password" {send "slk\n"} expect "Last login&quo…
使用expect在script中切换到root用户 1.尚观版本 http://www.uplook.cn/biancheng/133/1335040/ 1 a. 命令行: /usr/bin/expect -c "set timeout -1; spawn su; expect \"Password:\"; send \"123456\\r\"; interact" 2 3 b. 脚本: 4 5 #!/usr/bin/expect 6 set t…
问题的提出 最近使用 github 上传.下载项目代码时,经常会卡很久,有时候在命令行打了 git push 然后就去上厕所了,结果等我回来的时候,发现 push 早已经失败了,还得重新提交一下.如果有一个工具,可以不停的重启失败的 git push 直到它成功才退出,那就好了. 什么是 expect 在介绍使用 expect 重启 git 操作之前,先简单说明一下这个命令.其实它并不是一个新潮的东西,在很早以前就存在了,以至于现在一些系统默认都不带这个命令了,需要自己手工安装下: $ sudo…
1. [#!/usr/bin/expect]  这一行告诉操作系统脚本里的代码使用那一个shell来执行.这里的expect其实和linux下的bash.windows下的cmd是一类东西.  注意:这一行需要在脚本的第一行.  2. [set timeout 30]  基本上认识英文的都知道这是设置超时时间的,现在你只要记住他的计时单位是:秒.timeout -1 为永不超时 3. [spawn ssh -l username 192.168.1.1]  spawn是进入expect环境后才可…
题目链接:神奇的国度 一篇论文题--神奇的弦图,神奇的MCS-- 感觉我没有什么需要多说的,这里简单介绍一下MCS: 我们给每个点记录一个权值,从后往前依次确定完美消除序列中的点,每次选择权值最大的一个点(相同的话随意选一个)放到当前完美消除序列中的位置,然后把相邻的所有点权值加\(1\).一路到底即可得到一种完美消除序列.使用链表可以将复杂度优化到\(O(n+m)\).在弦图中有 最小染色=团数,求完美消除序列的时候顺便统计即可. 好吧,上面实在扯淡.其实还是要看\(CDQ\)当年的\(ppt…
BFC 已经是一个耳听熟闻的词语了,网上有许多关于 BFC 的文章,介绍了如何触发 BFC 以及 BFC 的一些用处(如清浮动,防止 margin 重叠等).虽然我知道如何利用 BFC 解决这些问题,但当别人问我 BFC 是什么,我还是不能很有底气地解释清楚.于是这两天仔细阅读了CSS2.1 spec 和许多文章来全面地理解BFC. 一.BFC是什么? 在解释 BFC 是什么之前,需要先介绍 Box.Formatting Context的概念. Box: CSS布局的基本单位 Box 是 CSS…
参考: http://www.cnblogs.com/lzrabbit/p/4298794.html expect是linux系统中可以和子进程进行交互的一个命令,使用它可以做一些自动化工作.python中也有一个模块pexpect,提供了类似的功能. 例如:使用ssh登陆需要输入密码,可以使用expect代替手工输入. 例如:使用passwd修改账户密码,也可以使用expect代替. expect用多种执行方式,交互式,执行文件,执行命令. 1.交互式 在命令行输入expect进入交互式 常用…
前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾.对于这个系列,通过学习源码,博主也学到了很多东西,在此还是把博主知道的先发出来,供大家参考. 本文原创地址:http://www.cnblogs.com/landeanfen/p/6019719.html MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一) MVC…
写本篇文章的缘由是之前群里@墨尘发了一段js代码,如下: (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]] 然后让大家运行,出来的结果让人有点出乎意料,请看: 太风骚了有木有!如果有人诋毁前端瞧不起js的话,那就可以把这段代码发给他了~ 不过话说回来了,这到底是什么原理呢?为什么一堆符号运算结果竟然能是两个字符,而且恰巧还是个sb! 其实靠的是js的类型转化的一些基本原理,本篇就来揭密"sb&q…
自动登录主机(ssh) 建脚本item2login.sh,包含如下内容 #!/usr/bin/expect set timeout 30 spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2] expect { "(yes/no)?" {send "yes\n";exp_continue} "password:" {send "[lindex $argv 3]\n&…