一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash passwd='123456' /usr/bin/expect <<-EOF set time 30 spawn ssh -p18330 root@192.168.10.22 expect { "*yes/no" { send "yes\r"; exp_continue } "*password:" { send "$passwd\r" } } expect "*#" send "cd /home/trunk\r" expect "*#" send "svn up\r" expect "*#" send "exit\r" interact expect eof EOF
相关推荐
在Shell脚本中嵌套执行`expect`命令是一种非常实用的技术,特别是在自动化运维、部署或需要与交互式程序进行通信时。`expect`是一个Unix/Linux下的工具,用于自动化那些需要用户输入交互的程序,比如SSH登录、SCP...
Expect 提供了一系列命令,用于控制脚本的执行流程,主要包括: - `spawn`: 启动一个新的子进程。 - `send`: 向进程发送指定的字符串。 - `expect`: 从进程接收字符串,并进行匹配。 - `interact`: 允许用户与进程...
本脚本通过shell编程,可以将需要批量执行的命令记录在命令文本,然后通过脚本批量刷新执行。本例提供在单台交换机上的批量操作,如需要同时在多台上同时执行批量命令,可以QQ联系。
2. `expect`:等待并匹配特定的输出或模式,一旦匹配成功,就继续执行后续命令。 3. `send`:向进程发送输入,通常是回应程序的提示。 4. `interact`:将控制权交给用户,允许手动操作。 5. `expect eof`:等待进程...
shell_expect.sh
在Linux系统管理中,有时我们需要自动化执行远程服务器上的任务,比如执行命令或脚本,而`expect`命令正为此目的而设计。`expect`是一个TCL语言的扩展,用于自动处理交互式应用程序,如SSH、telnet等。通过使用`...
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`脚本来自动连接到远程服务器,验证身份,然后执行一系列命令,最后安全退出。 在使用`Expect`前,必须确保系统已经安装了`TCL`,因为`Expect`是基于`TCL`的。安装过程通常涉及下载`TCL...
**Shell**是用户与操作系统之间的接口,它提供了一个命令行环境让用户能够执行各种命令或运行脚本。在Linux系统中,Shell脚本通常用于自动化执行一系列命令,从而提高工作效率。 **Expect**则是一款用于自动化交互...
With the advent of software such as Expect for controlling interactive processes, it has become possible to improve reliability and security with relative ease. This paper reviews the reliability ...
2. 使用`-c`选项执行命令:`expect -c '命令'` 此外,`expect`还有一些选项用于特定场景: - `-d`: 开启调试模式,输出诊断信息。 - `-D`: 启用调试器。 - `-f`: 从指定文件读取命令。 - `-i`: 交互式输入命令。 - ...
### 使用Expect实现自动切换用户及执行命令 #### 一、Expect简介 `Expect`是一种用于自动化交互式命令的工具,它能模拟用户与基于文本的交互式程序进行对话。通过编写脚本来控制这些对话,我们可以实现一系列自动...
1. **命令行交互**:`Expect`脚本在命令行环境下运行,通过`spawn`命令启动一个进程(如SSH连接、telnet会话等),然后发送和接收数据。 2. **期望与匹配**:`expect`命令用于设置期望的输出,可以是精确的字符串、...
但我到现在还在对python的恐惧之中(虽然已经在空闲时间努力去学习了),所以使用了shell和expect脚本结合的方式,写了这个批量scp的脚本工具。 expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh...
Linux运维-运维系统服务04-Shell脚本d5-Shell随机数与循环嵌套-12expect程序交互2.mp4
Linux运维-运维系统服务04-Shell脚本d5-Shell随机数与循环嵌套-13expect程序交互3.mp4
参考expect4j的交互式操作方式控制输入输出流实现批量执行多条shell命令同时支持切换用户输入密码提权执行命令输入密码等操作 有完整的测试用例,便于理解 模板化执行命令示例 [$]send[su - root] [Password:]...
你可以通过运行 `expect` 命令来测试是否安装成功。 压缩包中的`check.conf`可能是用于配置或检查环境的文件,具体用途需根据文件内容来确定。 `scp_auto.sh` 是一个自动化SCP文件传输的脚本,可以用来批量复制...