文档章节

测试linux中expect的timeout参数的作用

l
 linjin200
发布于 06/26 10:12
字数 399
阅读 7
收藏 1

测试linux中expect的timeout参数的作用

2016年02月05日 18:02:44 msdnchina 阅读数 8044

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/msdnchina/article/details/50638818

 

 
  1. [oracle@hosta ~]$ cat auto_transfer.sh

  2. #!/usr/bin/expect -f

  3. set password oracle

  4. #download

  5. spawn scp /home/oracle/p10404530_112030_Linux-x86-64_1of7.zip oracle@192.168.188.167:/home/oracle/

  6. set timeout 300

  7. expect "oracle@192.168.188.167's password:"

  8. set timeout 300 ------->>>>>>300表示300秒后超时,在超时之后,控制权会转移到下一行;若在超时时间之内,程序运行完,则控制权也会转移到下一行。

  9. send "$password\r"

  10. set timeout -1 ------->>>>>>注意此处的-1,-1表示永不超时,也就是:等 scp 命令正常执行完成之后,控制权会转移到下一行。

  11. send "exit\r"

  12. expect eof

  13.  
  14. [oracle@hosta ~]$

 
  1. [oracle@hosta ~]$ ./auto_transfer.sh

  2. spawn scp /home/oracle/p10404530_112030_Linux-x86-64_1of7.zip oracle@192.168.188.167:/home/oracle/

  3. oracle@192.168.188.167's password:

  4. p10404530_112030_Linux-x86-64_1of7.zip 100% 1296MB 8.8MB/s 02:28

 

目的端:

 
  1. [oracle@single ~]$ ll

  2. total 1358916

  3. -rwxr--r-- 1 oracle oinstall 183 Feb 5 16:32 auto.sh

  4. drwxr-xr-x 8 oracle oinstall 4096 Sep 22 2011 database

  5. drwxr-xr-x 4 oracle oinstall 4096 Dec 4 10:39 hvr

  6. -rw-r----- 1 oracle oinstall 28672 Feb 5 17:07 lei1_01.dmp

  7. -rw-r--r-- 1 oracle oinstall 1194 Feb 2 17:10 lei1_imp.log

  8. -rw-r--r--. 1 oracle oinstall 33020933 Nov 4 17:44 OPatch 11.2.0.3.6_p6880880_112000_Linux-x86-64.zip

  9. -rw-r--r-- 1 oracle oinstall 1358454646 Feb 5 17:37 p10404530_112030_Linux-x86-64_1of7.zip

  10. -rwxr--r-- 1 oracle oinstall 124 Feb 5 16:24 talk.sh

  11. [oracle@single ~]$

 

© 著作权归作者所有

l

linjin200

粉丝 26
博文 1001
码字总数 1168188
作品 0
福州
程序员
私信 提问
linux expect案例用法

EXPECT 用法 expect是基于TCL的相对简单的一个免费脚本编程工具语言,用来实现自动和交互式任务进行通信,无需人的 手工干预,比如sshFTP等,这些程序正常情况都需要手工与它们进行交互,而使...

jiaohuanji88
2018/07/04
0
0
Linux-Shell交互式自动化运维程序

Expect是Linux操作系统下的一个用来处理交互操作,系统默认是没有安装expect库,所以执行expect会提示找不到命令,需要手动安装,其它安装也比较简单,可以通过二进制源码包编译配置进行安装...

linux-tao
05/02
27
0
Linux expect 用法

用法 1. [#!/usr/bin/expect] 这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和Linux下的bash、windows下的cmd是一类东西。 注意:这一行需要在脚本的第一行。 ...

leonardos
2018/07/02
0
0
Linux运维学习知识点之Expect解析 Linux周末学习

Expect中的特殊关键字用于匹配过程,代表某些特殊含义或状态,一般用于 expect 族命令中而不能在外面单独使用,也可以理解为事件,使用上类似于: expect eof { } 一、eof eof(end-of-file...

老男孩Linux培训
2018/06/29
1
1
Linux Shell交互式自动化运维程序

Expect是Linux操作系统下的一个用来处理交互操作,系统默认是没有安装expect库,所以执行expect会提示找不到命令,需要手动安装,其它安装也比较简单,可以通过二进制源码包编译配置进行安装...

xiangyunyan
05/02
22
0

没有更多内容

加载失败,请刷新页面

加载更多

基于CentOS7搭建GitLab

基于CentOS7搭建GitLab 12018.11.02 16:38:51字数 959阅读 3791 本文作者:蓝雄威,叩丁狼高级讲师。原创文章,转载请注明出处。 一、简介 Git Lab GitLab是利用 Ruby on Rails 一个开源的版...

linjin200
20分钟前
4
0
random生成随机数

随机生成0到100之间的10个随机数,然后使用冒泡排序将这10个数按从小到大的顺序排序 生成10个随机数 import randomnum = range(0, 100) # 范围在0到100之间,需要用到range()函数。nums...

彩色泡泡糖
23分钟前
3
0
kubernetes 环境搭建 —— kubeadm

主从节点需要安装的服务 Master 节点 Node 节点 etcd-master Control plane(如:calico,fannel) kube-apiserver kube-proxy kube-controller-manager other apps kube-dns Control plane(如:......

lemos
26分钟前
4
0
php将字符串中的中英文数字分割

$str = "php如何将字 符串中322的字母数字Asf f45d和中文_分割?"; $arr = preg_split("/([a-zA-Z0-9]+)/", $str, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); print_r($arr); Arr......

小小小壮
27分钟前
3
0
茑屋书店理解(一)

说到实体书店,你可能会想到两个字“难做”。一是电子书大为盛行,二是纸书作为标准品,完全可以在网上购买,因此国内许多实体书店的日子是举步维艰。但是在日本有这么一家实体书店,目前已经...

Idea
30分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部