zoukankan      html  css  js  c++  java
  • 【shell】【demo】expect与send

    demo :expect与send

    例子:在 node1上 执行test.sh 来调用node2上的 get_java_home.sh

    1.在node1节点上 创建 test.sh

    vi test.sh

    添加以下内容:

    #!/bin/bash

    passW="AaBbCc"

    /usr/bin/expect < <-EOF

    spawn ssh root@10.10.10.21

    set timeout -1

    expect {

    "yes/no" {send "yes ";exp_continue}

    "assword:" {send "$passW "}

    }

    #识别 10.10.10.21节点上的 root用户的 $PS1 ,即命令行 "~ #",并键入相关命令

    expect "~ #"

    send "cd /tmp/test"

    send "sh get_java_home.sh > /tmp/test/get_java_home.log "

    send "exit/r"

    expect eof

    EOF

    2.在node2节点上 创建 get_java_home.sh

    mkdir -p /tmp/test

    cd /tmp/test

    vi get_java_home.sh

    添加以下内容:

    typeset  user_name=test

    typeset JAVA_HOME=`su - ${user_name} -c "env |grep -w JAVA_HOME"|awk -F= '{print $2}'`

    typeset java_path="${JAVA_HOME}/bin/java"

    echo JAVA_HOME=$JAVA_HOME,java_path=$java_path

    3.获取 node2节点 上 root用户 的环境变量 $PS1

    su - root

    echo $PS1

  • 相关阅读:
    网络和笔记本
    病毒惹的祸
    Virtual MachineVmware(2)
    VS2010 工具箱装载出错
    Virtual Machine VmWare(1)
    javascript写计数器
    代码自动生成操作
    用live writer写博客
    上海招聘.net程序员
    将用户导入到membership
  • 原文地址:https://www.cnblogs.com/greenZ/p/10243223.html
Copyright © 2011-2022 走看看