`

利用expect工具自动实现交互任务

 
阅读更多

 

安装expect

 

[root@localhost yum.repos.d]# yum -y install expect

 

1.1. /usr/bin/expect

 

脚本内容:

#!/usr/bin/expect
set ip 192.168.1.210
set pass Feiji@123
set timeout 3
spawn ssh root@$ip
expect {
        "(yes/no)" {send "yes\r"; exp_continue}
        "password:" {send "$pass\r"}
}
interact

  

执行脚本内容后,直接连接上了远程机器,避免输入IP和密码的麻烦,对于经常要输入这些内容的管理员来说,有这个脚本非常方便。

 

1.2.  /bin/bash

 

Shell脚本中嵌入Expect语法

使用EOF,将内容段让expect执行

查询远程服务器的磁盘使用情况:

 

脚本内容:

#!/bin/bash
user=root
pass=Maoxian@123'
ip='192.168.1.210'
/usr/bin/expect << EOF
set timeout 30
spawn ssh $user@$ip
expect {
        "(yes/no)" {send "yes\r"; exp_continue}
        "password:" {send "$pass\r"}
}
expect "root@*"  {send "df -h\r"}
expect "root@*"  {send "exit\r"}
expect eof
EOF

 

 

 

1.3.  /bin/bash字符串形式

                                           

脚本内容:

#!/bin/bash
user=root
pass=Maoxian@123'
ip='192.168.1.210'
expect -c "
    spawn ssh $user@$ip
    expect {
        \"(yes/no)\" {send \"yes\r\"; exp_continue}
        \"password:\" {send \"$pass\r\"; exp_continue}
        \"root@*\" {send \"df -h\r exit\r\"; exp_continue}
    }"

 

 

 

 

分享到:
评论

相关推荐

    linux实现交互执行:expect

    expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信

    基于expect自动交互完成批量服务器磁盘空间使用量的查询脚本

    基于expect自动交互完成批量服务器磁盘空间使用量的查询脚本(使用前请先安装expect),文件包含一个 ip列表文件ipList 可执行脚本disk.sh expect脚本 解压并赋予可执行权限,更改ipList文件内的ip和密码,执行fdik....

    利用expect命令实现Shell自动化交互的方法详解

    我们通过Shell可以实现简单的控制流功能,如:循环、...下面这篇文章主要给大家介绍了关于利用expect命令实现Shell自动化交互的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

    用Expect实现Linux自动远程登陆.pdf

    Expect 是 Unix 系统中的一种软件工具,用于自动化控制和测试,常用于交互式软件中,如 telnet、ftp、passwd、fsck、rlogin、ssh 等。通过 Expect,可以实现 Linux 的自动远程登录,简化登录过程,提高远程操作的...

    expect交互式ssh登陆交换机实现自动备份

    bash 调用expect ssh到cisco设备,通过tftp方式备份配置 已经测试通过,并上到生产服务器 前提要先架设好TFTP服务器并测试通过

    expect手动安装.zip

    expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。 在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入...

    利用EXPECT实现路由器自动配置.pdf

    利用EXPECT实现路由器自动配置.pdf

    用expect 实现切换用户时自动输入密码.txt

    昨天一个网友问如何能够将输入密码的工作在shell里面自动完成,研究了一下,发现这种交互式的工作,普通的shell实现不了,据说可以借助expect来搞定,所以初步学习了一下expect,成果和大家分享一下: 应用一: 实现...

    expect.rar

    expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。 在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端...

    人机交互自动化开发工具expect专业指导书 Exploring_Expect.pdf

    人机交互自动化开发工具expect专业指导书,英文原版,非常详细的说明和讲解

    Expect工具Expectit.zip

    Expectit - 是纯 Java 1.6 实现的 Expect 工具。简单易用和可扩展,全新编写无需依赖第三方库,使用管道和非堵塞 API 基于 NIO 实现。 Maven:  &lt;groupId&gt;net.sf.expectit&lt;/groupId&gt;  &lt;artifactId&gt;expectit-core ...

    expect交互式执行网络命令

    expect实现 shell 交互式网络命令,插件安装: tar xzvf expect5.45.tar.gz cd expect5.45 ./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.11/generic make make install ...

    expect-5.45.zip

    Expect用来实现自动和交互式任务进行通信,而无需人的干预。Expect的作者Don Libes在1990年开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect [is a] software suite for ...

    expect-5.43.0.tar.gz 和 tcl8.4.11-src.tar.gz

    Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。Expect的作者Don Libes在1990年开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect ...

    python expect工具

    python expect工具。 自动交互完成: 1. 批量并行scp/rsync 2. 批量并行ssh并执行命令 3. 挨个自动ssh,退出(ctrl-D、exit)后,自动登入下一台机器

    expect教程

    Expect是一种控制交互式程序的工具,解决了Unix环境中长期存在的一些问题。它使用Tcl作为语言核心,可以运用在交互和非交互的程序中,具有强大的功能。 Expect的主要特点是可以非交互的运行交互式程序,解决了许多...

    针对linux服务器交互式自动化脚本实现与研究.pdf

    "Linux服务器交互式自动化脚本实现与研究" 本文主要介绍了在Linux服务器集群之间实现无密码...通过 Expect 实现无密码登录的自动化,提高服务器之间的交互式自动化,减少人工的干预,提高服务器之间的安全性和可靠性。

    solaris 工具expect安装包

    expect是实现自动化登陆脚本必须的工具。这里上传下资源。

    Linux经典脚本expect的示例及基本用法

    Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。Expect的作者有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect [is a] software suite for automating ...

    expect脚本学习教程与范例

    xpect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。Expect的作者Don Libes在1990年开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect ...

Global site tag (gtag.js) - Google Analytics