Tcl & Expect

1. 流程

  1. 运行一个Expect程序

  2. spawn寄生目标程序,接管目标程序的输入输出

  3. expect判断目标程序的输出,做相应逻辑判断

  4. send用来向目标程序输入

  5. interact将控制权交给用户

2. spawn

寄生目标程序,接管目标程序的输入输出,这通常都是expect脚本的第一步,默认情况下,spawn会回显命令名称和参数,可以用-noecho参数来让它不回显

3. send

Characters are sent immediately although programs with line-buffered input will not read the characters until a return character is sent. A return character is denoted "\r".

向目标程序输入,字符直接发送给程序,但要注意,行缓冲输入的程序直到收到一个return字符才会接收这些输入字符,return字符用"\r"表示

  1. send_user 输入到 stdout,一般做提示用

4. expect

匹配被寄生的程序的输出与模式,如果匹配上,执行相应动作。匹配成功或超时或遇到文件尾时都会返回

一旦匹配上,则开始执行对应的语句。默认情况下,模式采用Tcl语言的string match命令匹配

模式中可用的特殊符号:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值