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中执行指令
  • 相关阅读:
    [安全相关]SQL注入
    [android] service基础
    [android] activity基础
    [javascript] 基础积累
    [CSS] 常用积累
    html & css
    时序图和活动图
    分析图书馆管理系统的5W1H
    风险分析
    PM案例分析(团队作业第三组)
  • 原文地址:https://www.cnblogs.com/violinn/p/3083949.html
Copyright © 2011-2022 走看看