zoukankan      html  css  js  c++  java
  • 自动化脚本

    expect 基于tcl演变而来,是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。
    我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行。


    常用命令

    spawn 启动新的进程
    expect 从进程接收字符串
    send 用于向进程发送字符串
    interact 命令主要用于退出自动化,进入人工交互,需要和spawn 配合使用
    eof 退出命令窗口

    exp_continue 循环匹配

    $argc 表示参数个数
    而参数值存放在$argv中,比如取第一个参数就是[lindex $argv 0]

    条件语句后要有一个空格隔开
    if {} {} eles {}

    #!/bin/bash
    mv /home/duanyu/git/common_api/target/common_api-1.0.1.war /home/duanyu/git/common_api/target/ROOT.war
    
    expect ./combot.exp
    #!/usr/bin/expect   
    set timeout 30
    spawn scp /home/duanyu/git/common_api/target/ROOT.war sto@192.168.1.46:/usr/local/commo_apache-tomcat-8.5.35_8080/webapps
    expect {
    "password:" {send "123
    "}
    }
    expect eof
    spawn ssh sto@192.168.1.46
    expect {
    "password:" {send "123
    "}
    }
    expect {
    "\$" {send "cd /usr/local/www/common_apache-tomcat-8.5.35_8080/logs 
    "}
    }
    expect {
    "\$" {send "sudo tail -f  catalina.out
    "}
    }
    expect {
    "密码:" {send "123
    "}
    }
    
    interact 
  • 相关阅读:
    链表的Java实现
    java知识点
    java知识点
    Android基础知识总结
    Android基础知识总结
    路由知识之ip route 命令中的疑惑
    Integer与int的种种比较
    求二叉树的宽度C语言版
    求二叉树的宽度C语言版
    二叉树的建立与递归遍历C语言版
  • 原文地址:https://www.cnblogs.com/licorice/p/11081874.html
Copyright © 2011-2022 走看看