美文网首页我爱编程
linux 系统下expect使用

linux 系统下expect使用

作者: 简简单单来读书 | 来源:发表于2018-04-11 18:22 被阅读0次

    一、定义:expect是linux上的一种人机交互的一套工具,它里面的命令能完成数据的接受、发送以及新进程的启动。

    二、参数

    spawn:发起一个新的启动进程,如:spawn ssh perfadmin@10.124.X.X (该命令是完成对10.124.X.X 的ssh登录),spawn scp 本地文件 perfadmin@10.124.X.X:远程机器的地方(启动了scp,将本地文件拷贝到10.124.X.X机器指定的地方)

    expect:接收交互进程中发送的数据,在接收数据中可以使用正则表达式匹配。如我们平常的ssh登录后,会给一个如下提示:

    expect接收内容为类似上图红色部。对于上面的情况expect命令为:expect "*password"

    send:接收进程发送的数据

    interact:继续本次的回话

    expect eof:结束本次的回话

    exp_continue:匹配多个字符串在执行动作后加此命令

    三、举例说明

    eg:连接10.124.X.X机器,并在10.124.X.X机器上执行删除文件和启动nmon

    #!/usr/bin/expect  目的是为了引用expect命令

    spawn ssh root@10.124.X.X     #连接10.124这台机器

    expect  "*password:"   #接受到password这个词语是

    send  "1qaz2wsx\r"   #就输入密码

    expect "Last login:*"   #然后接受到Last login时

    send "cd /home/root/wang\r"  #将目录切换到 wang这个目录

    send "rm -rf testwang.nmon\r"   #继续输入删除testwang.nmon命令

    send "./nmon -F 20180411.nmon -t -s 10 -c 100"   #继续执行文件下的nmon命令

    expect eof  #停机本次回话

    相关文章

      网友评论

        本文标题:linux 系统下expect使用

        本文链接:https://www.haomeiwen.com/subject/wlpzhftx.html