zoukankan      html  css  js  c++  java
  • expect,可交互式linux脚本

    expect 是linux下对于可交互shell的自动化脚本工具,其常见形式如下:

    clean-memcache.exp (在linux下 ,扩展名是没有意义的,此处只是标识该脚本是expect脚本而已),该脚本用途是清楚某机器上的memcache缓存而已


    #!/usr/bin/expect
    ##set variable
    set port [lindex $argv 0]
    set timeout 10
    #send "--------------clear memcache for test---------------\r"
    spawn telnet 10.20.162.56 $port
    exec sleep 1
    send "flush_all\r"
    expect "OK"
    send "quit\r"
    exec sleep 1
    exit

     
    需要解释一下的关键词有:
        set 赋值操作
     
        spawn :发起一个子shell,执行spawn后面的命令只有 spawn 执行的命令结果才会被 expect 捕捉到,因为 spawn 会启动一个进程,只有这个进程的相关信息才会被捕捉到
     
        expect:阻塞等待期待的值,可以是 eof,即文件结束。
     
        send 和 send_user:send 会将 expect 脚本中需要的信息发送给 spawn 启动
    的那个进程,而 send_user 只是回显用户发出的信息,类似于 shell 中的 echo 而
     
        exec 在当前子shell中执行指令
  • 相关阅读:
    5.模拟线程切换
    3.KPCR
    Java概述--Java开发实战经典
    java中设置虚拟机最大内存
    java static代码段
    原码、反码、补码的理解
    使用jmatio读写matlab数据文件
    matlab常用函数
    java的classpath和path理解
    读取SequenceFile中自定义Writable类型值
  • 原文地址:https://www.cnblogs.com/violinn/p/3083949.html
Copyright © 2011-2022 走看看