如何显示来自 expect 的输出?

如何显示来自 expect 的输出?

我正在尝试使用 从使用 telnet 样式界面的机器读取数据expect。交互式 telnet 会话的工作方式如下:

% telnet 10.92.177.14 53595
Trying 10.92.177.14...
Connected to 10.92.177.14.
Escape character is '^]'.
NOKEY
power_status ?
"on"
^]
telnet> Connection closed.

我发送了命令power_status ?并得到了响应"on"

我尝试了以下预期脚本:

#!/usr/bin/expect -f

spawn telnet 10.92.177.14 53595
expect -- "NOKEY\r"
send "power_status ?\r"
interact

它返回此输出并保持打开状态:

spawn telnet 10.92.177.14 53595
Trying 10.92.177.14...
Connected to 10.92.177.14.
Escape character is '^]'.
NOKEY
power_status ?
"on"

如何抑制除"on“输出”之外的所有内容,然后使其退出?如果我删除该interact行,它确实会退出,但我看不到响应。

相关内容