zoukankan      html  css  js  c++  java
  • Linux expect的安装与使用

    Expect是在Tcl的基础上创建的,可以用来做一些Linux下无法做到交互的命令操作,可用于远程管理服务器。

    一、安装Tcl:

    1.下载源码包:

    wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz

    2.解压缩源码包:

    tar xfvz tcl8.4.11-src.tar.gz

    3.编译安装:

    cd tcl8.4.11/unix
    ./configure --prefix=/usr/tcl --enable-shared
    make
    make install

    4.安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子目录generic中。

    二、安装expect:

    1.下载源码包:
    wget http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download

    2.解压源码包:
    tar xzvf expect5.45.tar.gz

    3.安装配置:
    cd expect5.45
    ./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.11/genericmake
    make install

    4.建立软连接:
    ln -s /usr/tcl/bin/expect /usr/expect/bin/expect

    三、expect语法及示例:

    set命令:可以设置变量。

    spawn命令:激活一个Unix程序来进行交互式的运行。

    send命令:向进程发送字符串。

    expect命令:等待进程的某些字符串。expect支持正规表达式并能同时等待多个字符串,并对每一个字符串执行不同的操作。

    interact命令:执行完毕把持交互状态,然后在控制台继续操作。如果没有这一句,登陆之后就会退出,而不是留在终端上。

    示例j脚本test.exp:

    #!/usr/bin/expect

    set HOST [192.168.11.11 $argv 0]

    set PWD [123456 $argv 1]

    spawn ssh root@$HOST

    expect "*passwrod:"

    send "$PWD "

    expect "*#"

    send "echo hello "

    interact

    修改权限:chmod 755 test.exp

    执行:expect test.exp
    ————————————————
    版权声明:本文为CSDN博主「lishuzebobo」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/u013181216/article/details/83055909

  • 相关阅读:
    蟠桃记
    考新郎
    有假币
    年会抽奖
    发邮件
    进制回文数
    数位和
    外星人的语言
    一的个数
    继承
  • 原文地址:https://www.cnblogs.com/zhoading/p/11988882.html
Copyright © 2011-2022 走看看