【发布时间】:2015-01-14 09:50:15
【问题描述】:
我正在尝试确定是否可以以编程方式导航 linux shell 应用程序 - 基于文本。
具体来说,我想通过使用 PHP 和 phpSecLib 来实现这一点,但如果您知道更好/更简单的方法,请加入。
我知道如何使用PHP+phpSecLib通过SSH登录linux服务器,并运行shell命令。
因此,我们在后端服务器上有这个第 3 方应用程序,我们无法选择访问实时数据。 该应用程序有一个我们可以生成的报告,它将为我们提供各种 KPI 的“实时”图片,但是此报告屏幕不会自动刷新,因此必须从报告中退出并再次生成它以更新 KPI
当应用程序启动时,在“屏幕/输出”更新后不久,我会看到“启动画面”,上面写着“欢迎使用 Ye Olde 应用程序版本 3.14159”(名称是虚构的)发生并显示“主菜单”,其中每个菜单点都可以通过按键 (1-9a-z) 访问。
主菜单
┌────────────────────────────────────────────────┐
│ │
│ 1 Foo bar │
│ 2 Same procedure │
│ 3 Rudolph Reindeer │
│ 4 Report generator │
│ 5 Log-off system │
│ │
└────────────────────────────────────────────────┘
所以在这种情况下,我想进入“4 报告生成器”[按 4]。之后,“屏幕/输出”会更新为像上面这样的新子菜单,以及其他选项。在这里,我将继续“1 创建新报告”[按 1],再次进行“屏幕/输出”更新。现在有了新菜单,进入“2 Superhandy Super-report”[Press 2]。
之后,我想将文本从报告屏幕保存到文档中以供进一步解析。但这不是最初的问题。
另一个想法可能是..
..以某种方式使用宏或类似方法在 shell-script (Bash) 中执行此操作。
【问题讨论】:
-
菜单可能是使用 ANSI 转义码创建的。你可以这样解码:phpseclib.sourceforge.net/ssh/examples.html#top 至于这是否真的回答了你的问题...... idk。我不完全确定你的问题是什么?
标签: php shell ssh screen-scraping phpseclib