Expect可以在Linux下用于交互式处理,比如利用scp的时候,需要输入目标机器的密码,解压jdk时需要按下回车等操作,这些利用Expect都可以自动的完成,不需要人为参与。
自己写了一个简单的expect实现scp不用手动输入目标机器密码的小脚本,其中包含了接收命令行参数。
#!/usr/bin/expect
set username [lindex $argv 0]
#destination file path
set despath [lindex $argv 1]
#destination host password
set passwd [lindex $argv 2]
#file need to be transfer
set filepath [lindex $argv 3]
spawn scp $filepath $username@$despath
expect "password:"
send "$passwd\n"
expect eof
#call script
./test.sh root ip:/usr/local abc /usr/local/test.txt
相关推荐
### Linux下的Expect交互式命令使用方法 #### 一、Expect简介 Expect 是一种自动化交互式命令行工具,它主要用于在 Linux 或 Unix 系统中控制交互式应用,例如 Telnet、SSH、FTP 和其他需要与用户进行交互的应用...
`expect`基于Tcl语言,因此具备Tcl的所有功能,并扩展了处理终端输出的能力。 `expect`的主要知识点包括: 1. **基本概念**:`expect`是基于事件驱动的概念,通过匹配输出模式来触发特定的脚本动作。它的工作原理...
总的来说,Linux Expect 提供了一种强大且灵活的方法来自动化那些需要用户交互的任务,极大地提高了运维效率,特别是在需要大量手动操作的场景下。通过熟练掌握 Expect,IT专业人员可以编写出高效的自动化脚本,减少...
`expect`基于Tcl编程语言,使得编写自动化脚本变得简单。在本文中,我们将深入理解`expect`的工作原理并展示一个实际的例子。 一、`expect`概述 `expect`的基本概念是它能够模拟用户与命令行程序之间的交互。当你...
在这个例子中,`spawn`命令启动了一个新的进程(这里是SSH连接),`expect`命令等待特定的字符串(这里是"password:"),`send`命令发送数据(这里是密码和命令),最后再次`expect`等待提示符并发送退出命令。...
它基于TCL语言,因此在使用`expect`之前需要先确保系统安装了TCL和expect。 ### expect的安装 在大多数Linux发行版中,可以通过包管理器来安装`expect`及其依赖。在有外网的环境中,可以使用以下命令安装: ```bash...
`expect`工具就是这样的一个例子,它允许用户编写脚本来自动响应命令行程序的交互式行为,大大简化了自动化任务的执行。而`TCL`(Tool Command Language)则是一种动态编程语言,常常被用于开发`expect`的脚本。在这...
《期待与Linux世界的交互:详解expect5.45.3》 在信息技术领域,expect工具以其独特的功能在自动化脚本和系统管理中占据一席之地。expect5.45.3是一个基于TCL(Tool Command Language)语言的扩展库,它为用户提供...
Expect 是一种工具,主要用于实现自动化交互式的操作,它由 Don Libes 开发,基于 Tcl(Tool Command Language)语言。通过使用 Expect,可以将原本需要手动进行的操作,例如 SSH 登录、FTP 登录等,编写成脚本自动...
Expect最初是在Linux环境下开发的,但现在我们有了Windows版本,使得这一强大的自动化工具也能在Windows操作系统中发挥其效用。本文将详细介绍Windows版Expect的使用和功能,以及如何利用它来简化命令行操作。 ...
/usr/bin/expect 是一个Unix/Linux环境下的脚本开头,用于指定解释器执行该脚本。这个特定的命令表示该脚本将由 Expect 程序来执行。Expect 是一个强大的自动化工具,常用于交互式应用程序的自动化,尤其是与远程...
总的来说,学习和掌握`Expect`是提升Linux环境下的自动化能力的重要一步,能够极大地提高工作效率,减轻日常维护的负担。通过深入理解和实践,我们可以创建出各种定制化的自动化解决方案,应对复杂的工作流程。
expect 是建立在工具控制语言(Tool Control Language,TCL)之上的一个工具,它允许你通过编写程序来对一些日常繁琐的任务进行有交互界面的自动化操作。在 expect 上下文环境,你可以使用一些额外的只适用于 expect...
`expect`是Tcl语言的一个扩展,通过模拟键盘输入来控制程序流程,使得批量处理和无人值守操作变得可能。下面我们将深入探讨`expect`脚本的使用方法及其核心知识点。 首先,我们需要了解`expect`的基本结构。一个...
本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...
接下来,我们将详细介绍如何在 Linux 和 Windows 环境下安装和使用 gtest。 #### gtest 在 Linux 下的使用 ##### 1. 安装 gtest 1. **下载 gtest**:从指定的链接 (`...
`expect`是一个TCL语言的扩展,用于自动处理交互式应用程序,如SSH、telnet等。通过使用`expect`,我们可以编写脚本来自动应答交互式的登录和密码输入,从而实现无人值守的远程操作。 首先,`expect`脚本的执行方式...
本文将深入探讨在Linux操作系统环境下,如何进行自动化测试,并关注GUI自动化测试工具的应用、命令行客户端测试技术和主要性能指标的测试。 1. GUI自动化测试工具的应用: 在Linux平台上,虽然没有像Windows平台...
Pexpect基于Expect语言的概念,为Python开发者提供了便捷的方式来控制子进程,通过正则表达式匹配输出,然后根据匹配结果发送相应的输入。 首先,我们了解Pexpect的核心功能: 1. **Spawn**: 使用`pexpect.spawn()...