• 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

  • 相关阅读:
    《剑指offer》Q01-12 (牛客10.11)
    北京,我来了
    pods的好处
    iOS那些你从未使用过的属性方法
    重构一个运行超过10年的老项目
    C#泛型
    认真思考创建对象的几种方式
    2014年终总结
    前端优化:AMDclean去除requirejs
    webstorm常用快捷键及插件
  • 原文地址:https://www.cnblogs.com/wangyong-blog/p/10277035.html
Copyright © 2020-2023  润新知