围绕 Curses 编写脚本?

围绕 Curses 编写脚本?

我有一个需要不断处理的过程。

  • 它要求我运行一个命令,然后输入几条信息。
  • 然后我看到一个列出几个选项的 curses 菜单。

前半部分很容易用 expect 实现自动化。而后半部分我不清楚有什么简单的方法可以实现自动化。

有什么建议么?

答案1

不幸的是,expect(来自任何语言)并不真正适合非标准屏幕缓冲区响应。我见过一些尝试处理光标位置更新的实现,例如 curses,但结果并不总是有效的。

我觉得您最好花时间研究一下 curses 应用程序为您提供了哪些操作,以便您自己配置应用程序并自行执行这些操作。我发现几乎每个 curses 菜单都有一个配套的 cli cmd,或者是一个前端。

如果你能分享一下 curses 菜单,社区也许能帮助你解决后台发生的事情。如果你不能,因为它是自己开发的东西,你应该能够用类似这样的代码来捕获后台发生的事情strace

希望这可以帮助。

答案2

查看hpuifilter随附的实用程序。它最初是为了帮助 RANCID 的 expect 脚本处理 HP 交换机的类似 curses 的菜单而编写的。但是,它是作为过滤器编写的,因此您可以将 curses 应用程序导入其中,它将输出删除 VT100 控制序列的纯文本,这应该更容易在 expect 中处理。

答案3

相关内容