`

利用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}
    }"

 

 

 

 

分享到:
评论

相关推荐

    expect手动安装.zip

    说白了,expect就是一套用来实现自动交互功能的软件。 在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则...

    expect.rar

    说白了,expect就是一套用来实现自动交互功能的软件。 在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则...

    solaris 工具expect安装包

    在IT领域,特别是系统管理与自动化操作中,`expect`是一个非常重要的工具,它允许用户编写脚本来自动交互式地控制程序,尤其是那些需要用户输入的程序,如SSH登录、FTP传输等。`expect`是基于TCL语言的一个扩展,...

    Exploring_Expect.pdf

    ### Exploring Expect: A Comprehensive Guide to Understanding and Utilizing the Automation Tool ...通过阅读本书,读者将能够更好地利用Expect来提高工作效率,解决实际工作中遇到的各种自动化需求。

    timeshutpc_expect5zk_定时自动关机_

    "expect5zk"通常是指利用 Expect 脚本语言与 ZooKeeper 进行交互的一个工具,ZooKeeper 是一个分布式协调服务,而定时自动关机功能则是对系统进行自动化管理的一种实用工具。 在IT领域,定时自动关机功能广泛应用于...

    expect5.45.tar.gz

    《深入理解expect5.45:与TCL的...掌握expect的使用,不仅能够提升我们的自动化能力,也能使我们在面对复杂交互任务时游刃有余。结合TCL的灵活性,expect成为了一种不可或缺的工具,值得每一个IT从业者深入了解和掌握。

    Expect and using Expect with PERL

    ### 使用Expect与Perl进行自动化交互任务 #### 一、什么是Expect? Expect是一种基于TCL工具包的编程语言,专门设计用于自动化交互式任务。它的核心功能在于能够等待某个事件发生,并在该事件发生后执行相应的操作...

    expect及其依赖rpm包(x64)

    `expect`工具正是这样一个强大的自动化脚本工具,尤其在处理交互式协议如SSH(Secure Shell)、FTP(File Transfer Protocol)和TELNET时,它能模拟用户输入,使得自动化过程变得更加简单。本文将深入探讨`expect`...

    linux shell编程 Expect简介及应用中文教程

    通过深入学习和实践,你将能够熟练地利用 Expect 处理各种交互式任务,提高工作效率。 六、进阶技巧 随着对 Expect 的深入理解,你可以探索更多高级特性,如正则表达式匹配、时间限制、重试机制等,进一步提升脚本...

    expect.5.2.1setup.rar

    总之,Windows版Expect工具为Windows环境带来了Linux上强大的自动化交互能力,通过编写简单的脚本,用户可以轻松实现对命令行程序的自动化控制,极大地提升了日常工作的效率。无论你是运维人员还是开发者,掌握这个...

    expect

    1. "expect"源码包:这是Expect工具的主要组成部分,通常以.tar.gz或.tar.bz2格式提供。解压后,用户可以找到源代码文件、安装脚本、README文档等,用于编译和安装Expect到系统中。 2. "Tcl"安装包:因为Expect是...

    expect 中文教程

    总之,`expect` 是一款功能强大的自动化工具,尤其适用于需要频繁与交互式应用进行交互的场景。通过本教程的学习,相信您已经掌握了 `expect` 的基础知识,并能够运用它来解决实际问题。随着实践经验的积累,您将...

    expect中文man

    ### Expect工具详解与应用 #### 一、Expect简介 Expect是一种用于自动化交互式应用程序的工具,主要用于模拟用户在命令行中的交互操作。它基于Tcl(Tool Command Language)语言开发,能够实现对远程登录(如...

    expect5.43 + tcl8.4.11

    在 Expect 脚本中,你可以调用 Tcl 命令进行数据处理,同时利用 Expect 的功能来自动化交互过程。这种结合使得它们在自动化测试、系统集成、网络设备配置等方面非常强大。 例如,你可以编写一个 Expect 脚本来自动...

    Exploring Expect

    它不仅深入浅出地讲解了如何利用Expect自动化交互式工具,还揭示了在传统编程中常常被忽视的问题,并通过丰富的实例与经验分享帮助读者更好地理解和应用这一工具。本书首次出版即成为绝版,其珍贵性不言而喻。 ####...

    expect中英教材.zip

    这个工具允许脚本模拟用户输入,从而实现自动化测试和任务执行。"expect中英教材.zip" 提供的是一份关于expect的中英双语教程,对于学习和理解expect的语法和应用有着极大的帮助。 `Expect`是Tcl语言的一个扩展,由...

Global site tag (gtag.js) - Google Analytics