`
clound23
  • 浏览: 12921 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

expect

阅读更多

##############################################
  #!/usr/bin/expect
  set timeout 30
  spawn ssh -l username 192.168.1.1
  expect "password:"
  send "ispass\r"
  interact
  ##############################################
  1. [#!/usr/bin/expect]
  这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和linux下的bash、windows下的cmd是一类东西。
  注意:这一行需要在脚本的第一行。
  2. [set timeout 30]
  基本上认识英文的都知道这是设置超时时间的,现在你只要记住他的计时单位是:秒
  3. [spawn ssh -l username 192.168.1.1]
  spawn是进入expect环境后才可以执行的expect内部命令,如果没有装expect或者直接在默认的SHELL下执行是找不到spawn命令的。所以不要用 “which spawn“之类的命令去找spawn命令。好比windows里的dir就是一个内部命令,这个命令由shell自带,你无法找到一个dir.com 或 dir.exe 的可执行文件。
  它主要的功能是给ssh运行进程加个壳,用来传递交互指令。
  4. [expect "password:"]
  这里的expect也是expect的一个内部命令,有点晕吧,expect的shell命令和内部命令是一样的,但不是一个功能,习惯就好了。这个命令的意思是判断上次输出结果里是否包含“password:”的字符串,如果有则立即返回,否则就等待一段时间后返回,这里等待时长就是前面设置的30秒
  5. [send "ispass\r"]
  这里就是执行交互动作,与手工输入密码的动作等效。
  温馨提示: 命令字符串结尾别忘记加上“\r”,如果出现异常等待的状态可以核查一下。
  6. [interact]
  执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。如果你只是登录过去执行

 

2、http://linux.chinaitlab.com/c/809655_2.html

 

3、expect中文手册

http://os.chinaunix.net/a2009/0302/992/000000992152.shtml

分享到:
评论

相关推荐

    linux expect安装及expect,tcl安装包

    Linux Expect 是一个强大的自动化工具,它允许用户编写脚本来自动处理需要交互的程序,比如SSH登录、SCP文件传输等。Expect 基于TCL语言,因此在使用之前需要先安装TCL环境。本压缩包提供了Linux Expect的安装教程、...

    Expect 5.21 for windows

    "Expect 5.21 for Windows" 是一个专为Windows操作系统设计的自动化工具,它基于原始的Unix/Linux工具“Expect”。 Expect是一个强大的脚本语言,主要用于自动化与交互式程序的通信,例如telnet、ftp、passwd等。在...

    expect的linux安装包

    在Linux环境中,`expect`是一个强大的自动化脚本工具,它允许程序员或系统管理员与交互式应用程序进行自动对话。这个工具由Trent Mick开发,并且基于Tcl语言,它极大地简化了自动化过程,尤其是那些需要用户输入的...

    expect-5.45.zip

    Expect的作者Don Libes在1990年开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect [is a] software suite for automating interactive tools)。使用它系统管理员的可以创建...

    expect手动安装.zip

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

    RHEL 7.8安装expect及使用.docx

    RHEL 7.8 安装 expect 及使用 Expect 是一种免费的编程工具语言,用来实现自动与交互式任务进行通信,而无需人工干预。Expect 是一个用来实现自动交互功能的软件套件。系统管理员可以用它来创建脚本以实现对命令或...

    expect在windows下使用的

    `Expect`是一个强大的脚本工具,主要用于自动化交互式命令行程序。它的工作原理是模仿终端行为,通过发送期望的输入并捕获预期的输出来控制这些程序,尤其适合于自动登录、运行远程命令、自动化系统配置等场景。在...

    expect5.43.0和tcl8.4.11.zip

    在IT领域,`expect`和`TCL`是两种重要的脚本工具,它们在自动化任务执行、系统管理和网络通信中发挥着关键作用。`Expect`是建立在`TCL`基础上的一个扩展,专为自动交互式应用程序设计,如SSH、telnet等。` Expect...

    expect5.45.4.tar

    Introduction to Expect The Expect package was installed in the LFS temporary tools directory for testing other packages. These procedures install it in a permanent location. It contains tools for ...

    ubuntu上expect的安装包

    在Ubuntu操作系统中,`Expect` 是一个非常有用的自动化脚本工具,它允许用户与交互式应用程序进行自动对话,比如在SSH登录、系统管理任务、自动安装软件等方面有着广泛的应用。然而,Ubuntu的默认仓库可能并未包含`...

    expect4j.jar 1.0

    Expect4j is an attempt to rewrite Expect in Java and provide bindings to the TclJava interpreter. The goal is to be able to port existing Tcl code bases that use Expect directly to Java without ...

    linux下expect的安装方法

    Linux下的`expect`工具是一个强大的自动化管理利器,尤其适合处理那些需要交互式输入的脚本任务,比如自动登录、密码输入、脚本自动化等。它基于Tcl语言,通过模拟用户交互来自动化复杂的命令行操作。`expect`的安装...

    expect-5.21 for Windows 附带安装需要的组件ActiveTcl-8.6.12

    《期待已久的expect-5.21与ActiveTcl-8.6.12在Windows上的构建与应用》 在IT领域,自动化测试和脚本编写是不可或缺的一部分,特别是在Unix/Linux环境中,expect工具因其强大的交互性而备受推崇。然而,对于Windows...

    expect及其依赖rpm包(x64)

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

    14.Shell脚本编程之expect.md

    Expect工具简介 Expect 是一种工具,主要用于实现自动化交互式的操作,它由 Don Libes 开发,基于 Tcl(Tool Command Language)语言。通过使用 Expect,可以将原本需要手动进行的操作,例如 SSH 登录、FTP 登录等...

    expect-5.21-for-win.rar

    《使用Expect 5.21 for Windows:自动化Shell交互脚本的利器》 在Windows操作系统环境中,虽然原生不支持Unix-like的shell脚本,但通过工具如Expect,我们可以实现类似的功能,进行命令行程序的自动化交互。Expect...

    expect5.45.3.tar.gz

    《期待与Linux世界的交互:详解expect5.45.3》 在信息技术领域,expect工具以其独特的功能在自动化脚本和系统管理中占据一席之地。expect5.45.3是一个基于TCL(Tool Command Language)语言的扩展库,它为用户提供...

    Expect and using Expect with PERL

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

    expect所需的全部jar包

    在IT行业中,Expect是一个强大的工具,它主要用于自动化与交互式应用程序的通信,特别是在Unix和Linux环境中。这个"expect所需的全部jar包"包含了 Expect 源码包和所有必要的Java库,使得开发人员能够在Java程序中...

Global site tag (gtag.js) - Google Analytics