Linux expect介绍和用法

Posted 明王不动心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux expect介绍和用法相关的知识,希望对你有一定的参考价值。

expect时用与提供自动交互的工具。比如如果想要用ssh登陆服务器,每次都输入密码你觉得麻烦,那你就可以使用expect来做自动交互,这样的话就不用每次都输入密码了。

先看例子:

#!/usr/bin/expect
#set timeout 20 #设置超时时间
spawn ssh [email protected] expect "*password:" send "123\r" # expect "*#" interact

解释:

1.#!/usr/bin/expect :需要先安装软件,然后来说明用expect来执行

2.spawn ssh [email protected] :spawn是进入expect环境后才可以执行的expect内部命令,用来执行它后面的命令。

3.expect "*password:" :也是expect的内部命令,用来解惑关键的字符串,如果有,就会立即返回下面设置的内容,如果没有就看是否设置了超时时间。

4.send "123\r":这时执行交互式动作,与手工输入密码等效,在expect截获关键字之后,它就会输入send后面的内容。

5.interact :执行完毕后把持交互状态,把控制台,这时候就可以进行你想要进行的操作了。如果没有这一句,在登陆完成之后就会退出,而不是留在远程终端上。

今天突然想起了expect,所以就重新看了一下,希望对你有帮助。


以上是关于Linux expect介绍和用法的主要内容,如果未能解决你的问题,请参考以下文章

expect的用法和实现自动化脚本

expect脚本远程登录远程执行命令和脚本传参简单用法

Linux之expect命令

Linux之expect命令

Linux expect 详解

expect 用法