zoukankan      html  css  js  c++  java
  • linux expect

    timeout -1 为永不超时

    Expect中最关键的四个命令是send,expect,spawn,interact。

    send:用于向进程发送字符串
    expect:从进程接收字符串
    spawn:启动新的进程
    interact:允许用户交互



    #!/usr/bin/expect  
    set timeout 30                      #设置超时时间
    
    spawn ssh -l root 9.100.132.21                
    
    expect "password:"           #判断前一条语句的输出结果是否包含字符串“password:” 
    
    send "ispass/r"             #这里是执行交互操作,与手工输入密码的动作等价
    
    interact                   # 执行完成后保持交互状态,把控制权交给控制台,如果没有执行完后会退出,而不是留在远程终端上。
                                如果登陆过去只是执行一段命令,可改为expect eof
    expect的字符处理是没有换行符之类的,所以需要额外加上,
    代表是返回字符,代表输入到此为止,需要返回,其实效果类似按回车,
    为什么有些地方用 ,有些地方用 ,其实也无妨,只是为了输出格式好看,而 其实等于了 了,所以会多一个空行。

    参考引用:

    1、http://segmentfault.com/a/1190000002564816

    2、http://www.xuanhao360.com/linux-expects/

    3、http://www.cnblogs.com/iloveyoucc/archive/2012/05/11/2496433.html

    
    
  • 相关阅读:
    C#学习笔记:多态与隐藏,覆盖
    HTML与XML数据的结合小总结
    基于角色(RoleBased)的表单验证
    去除C++String的首尾空格
    Bash Shell中命令行选项/参数处理
    linux shell 执行多个命令的几种方法
    gdb 多线程调试
    linux 时间戳及时间差计算
    oracle sql日期比较
    在Fedora 14上安装Sun JDK 6
  • 原文地址:https://www.cnblogs.com/relaxgirl/p/4515072.html
Copyright © 2011-2022 走看看