You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在expect的interact中能否保留匹配到的进程输出?

解决Expect脚本中进程输出自动显示的问题

首先明确:Expect的interact -o默认会拦截匹配到的进程输出,不会自动回显——没有像用户输入的-echo那样的直接选项来让它自动显示匹配内容。但可以通过内置变量简化操作,不用硬编码手动发送原内容。

修改后的脚本

#!/usr/bin/expect

spawn bash
interact {
  -o
  hello_world {
    send_user $expect_out(buffer)
    send "Goodbye"
  }
}

说明

  • $expect_out(buffer)会自动捕获匹配到的进程输出内容,用send_user输出后,就能保留原输出的显示,同时执行后续的send操作。
  • 这样既不用手动写send_user("hello_world"),也能实现原内容自动显示+替换操作的需求。

内容的提问来源于stack exchange,提问作者merlin2011

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 19:12:37