Expect 学习笔记 ————Tim 一、Expect 介绍 Expect 是一种 TCL 扩展性的语言,主要用于完成系统交互方面的功能,比如 SSH、FTP 等,这些程序都需要手工与它们进行互动,而使用 Expect 就可以模拟人手工互动的过程,使用一种自动的方式控制
Expect 中,有三个重要的主命令,分别是 spawn、expect、exp_send,这三个命令几乎存在于所有 Expect 脚本中,除了这些之外,还有很多 Expect 所特有的参数、变量,它们也作用与 Expect 的方方面面
二、 Expect 命令 Expect 中命令是最重要的部分,它们完成 Expect 中最关键的功能,命令使用的特点就是他们本身就可以单独执行,使用上类似于: 命令 [选项] 参数 spawn spawn 命令是 Expect 的初始命令,它用于启动一个进程,之后所有 expect 操作都在这个进程中进行,如果没有 spawn 语句,整个 expect 就无法再进行下去了,使用方法就像下面这样: spawn ssh root@192
1 在 spawn 命令后面,直接加上要启动的进程等信息 当然,如果真的不要 spawn 过程也没有关系,虽然这样就没有办法单独执行,但是这个脚本可以与任何调用它的进程进行交互
除此之外,spawn 还支持其他选项: -open 启动文件进程,具体说明请参照下面的选项部分
-ignore 忽略某些信号,具体说明请参照下面的选项部分
expect 使用方法: expect 表达式 动作 表达式 动作 ……………… expect 命令用于等候一个相匹配的输出,一旦匹配就执行后面的动作,这个命令接受几个特有参数,用的最多的就是-re,表示使用正则表达式的方式匹配,使用起来就像这样: spawn ssh root@192