zoukankan      html  css  js  c++  java
  • expect使用

    1、安装   

    yum install -y expect

    2、使用

    1)定义脚本执行的shell

    #!/bin/bash

    2)set timeout 30

    设置超时时间,单位是秒,如果设为timeout -1 意为永不超时

    3)spawn

    spawn是进入expect环境后才能执行的内部命令,不能直接在默认的shell环境中运行

    主要功能:传递交互命令

    4)expect

    这里的expect同样是expect的内部命令

    主要功能:判断输出结果是否包含某项字符串,没有立即返回,否则就等待一段时间后返回,等待时间通过timeout进行设置

    5)send

    执行交互动作,将交互要执行的动作进行输入给交互指令

    6)interact

    执行完后保持交互动作,吧控制权交给控制台

    如果不加这一项,交互完成后会自动退出

    7)exp_continue

    继续执行接下来的交互操作

    8)$argv

    expect脚本可以接受从bash传递过来的参数,可以使用[lindex $argv n]获得,n从0开始,分别表示第一个,第二个,第三个。。。参数

    3、一台控制

    #!/usr/bin/expect
    set ipaddress "192.168.1.76"
    set passwd "123456"
    set timeout 30
    spawn ssh root@$ipaddress
    expect {
    "yes/no" { send "yes
    ";exp_contine}
    "password:" { send "$passwd
    "}
    }
    interact
    多台控制
    #!/usr/bin/expect set ipaddress [ lindex $argv 0 ] set user [ lindex $argv 1 ] set passwd [ lindex $argv 2 ] set timeout 30 spawn ssh root@$ipaddress expect { "yes/no" { send "yes ";exp_contine} "password:" { send "$passwd "} } interact

    cp ssh2.exp /usr/sbin/ssh2

    ssh2 192.168.1.76 root 123456

  • 相关阅读:
    ORM的概念, ORM到底是什么
    EM算法
    贝叶斯方法的m-估计
    概率图模型之:贝叶斯网络
    决策树学习
    各种聚类算法的比较
    聚类算法:K均值
    Entity Framework + WCF 远程调用出错
    使用Entity Framework时,序列化出错
    WCF基础知识
  • 原文地址:https://www.cnblogs.com/wangyong-blog/p/10277035.html
Copyright © 2011-2022 走看看