神奇的expect
来源:互联网 发布:淘宝查号网131458. 编辑:程序博客网 时间:2024/06/05 17:22
想写自动化脚本的时候,遇到需要交互的,如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" {send " ls -l\n"}
expect eof
exit
/usr/bin/expect是指明该脚本要调用expect
set timeout 5,设置每个expect等待的时间,-1则为永不超时,在expect scp xxx xxx 的时候很好用,时间如果设太短,还没传完,expect就返回了。
spawn 创建一个进程,执行ssh 192.168.2.38命令,然后下面就是expect 和send的命令对了。
expect "password" {send "slk\n"}, 当出现“expect"的时候,发送,"slk\n",必须要加\n,就和我们平时自己输秘密最后要加个\n一样。
expect可以不止一个,所以下面可以继续expect和send。如果要执行的命令有很多,可以不写那么多expect send,直接把命令写在另一个脚本里,expect "Last login" {send " ./do.sh\n"} 就好了,expect是为交互而存在的,在不需要交互的地方调用expect是浪费自己的时间。
阅读全文
0 0
- 神奇的expect
- expect 的小点--expect的使用
- shell expect 的介绍
- expect的基本用法
- Expect 的基础知识 linux
- expect的基本用法
- linux expect的使用
- TCL/expect的使用
- expect的基本用法
- expect 的一个问题
- Expect 的基础知识 linux
- expect的安装使用
- expect的基本用法
- expect 的安装
- expect的基本用法
- 关于 EXPECT 的使用
- Expect的full_buffer
- expect的基本用法
- homestead安装流程
- UDT中的epoll
- springMVC配置消息转换器
- java--数组
- RabbitMQ php 一 简介
- 神奇的expect
- VS2013 出现未能正确加载"JavaScript..."包
- finger手指ikfk共存
- start CSDN
- UDT中epoll对CLOSE状态的处理
- AlphaGo之父哈萨比斯: 先解决智能 再用智能解决一切
- 决策树与随机森林
- linux下制作自己的链接库文件
- 使用注解为HibernateDaoSupport注入sessionFactory