❀expect命令运用于bash❀

发布于:2024-08-19 ⋅ 阅读:(150) ⋅ 点赞:(0)

目录

❀expect命令运用于bash❀

expect使用原理

expet使用场景

常用的expect命令选项

Expect脚本的结尾

常用的expect命令选参数

Expect执行方式

单一分支语法

多分支模式语法第一种

多分支模式语法第二种

在shell 中嵌套expect

Shell Here Document(内嵌文档/嵌入文档) 

Here Document 的基本用法

expect变量如何定义和调用?

函数传参数给expect应该如何实现?

用法说明

观点


expect命令运用于bash

功能说明:expect是一款自动化的脚本解释型的工具。

(ps.expect基于tcl脚本,expect脚本的运行需要tcl的支持。expect对一些需要交互输入的命令很有帮助,比如ssh ftp scp telnet。远程登录linux服务器的时候,ssh命令需要手工输入密码,当登录多台机器的时候就会非常繁琐。expect就可以根据设定的规则,自动帮我们输入密码,大大节省了时间。在shell脚本中使用expect命令可以实现自动化交互式操作,例如自动登录远程服务器、自动执行命令等。) 

expect使用原理

spawn启动指定进程—expect获取指定关键字—send向指定程序发送指定字符—执行完成退出。

expet使用场景

①并根据预定标准回答其问题,回答“是”、“否”或将控制权交还给您

远程连接设备并执行自动化操作

③主要是一些需要人机交互的地方,如果提前知道应该输入什么指令都可以使用expect 工具

常用的expect命令选项

spawn启动一个新的进程,并将其与当前进程进行交互。

expect:等待特定的字符串或正则表达式出现,并执行相应的操作。

send:向进程发送字符串,并将该参数发送到进程,这个过程类似模拟人类输入密码。

interact:允许用户与进程进行交互,interact命令可以在适当的时候进行任务的干预,比如下载完ftp文件时,仍然可以停留在ftp命令行状态,以便手动的执行后续命令。

exp_continue:允许expect继续向下执行指令,在expect中多次匹配就需要用到。

exit退出expect脚本。

eof:expect执行结束,退出

set设置变量。

puts输出变量

Timeout:指定超时时间,set timeout n,过期则继续执行后续指令 ,设置超时时间,表示该脚本代码需在n秒钟内完成,如果超过,则退出。timeout -1永不超时,用来防止ssh远程主机网络不可达时卡住及在远程主机执行命令宕住。默认情况下,timeout是10秒

send_user :回显命令,相当于echo。

$argv参数数组Expect脚本可以接受从bash传递的参数</


网站公告

今日签到

点亮在社区的每一天
去签到