如何:将 shell 中的击键输入模拟到在嵌入式目标中运行的应用程序

fzk*_*zkl 4 keyboard bash shell keystroke embedded-linux

我正在编写一个在嵌入式 linux 目标上运行的自动化脚本。

脚本的一部分涉及在目标上运行应用程序并从标准输出获取一些数据。这里的标准输出是我与目标的 ssh 终端连接。

但是,只有在按下某些键并且按键必须在连接到嵌入式目标的键盘上而不是在我通过 ssh 连接到目标的主机系统上完成时,才能在 stdout 上使用此数据。有没有办法模拟这个?

编辑:详细说明我需要什么 -

我有一个 OpenGL 应用程序,可以在嵌入式 linux(像普通 linux 一样工作)目标上运行。这会在嵌入式系统的显示设备上显示一些图形。在连接到目标的键盘上按 f 将 fps 数据输出到我控制目标的 ssh 终端上。

由于我正在自动化运行此 OpenGL 应用程序并获取 fps 分数的过程,因此我不能期望将键盘连接到目标,更不用说期望用户在嵌入式目标键盘上输入按键。我该怎么做?

编辑 2:Expect 不起作用,因为 expect 只能向 ssh 终端发出笔画。我需要发送到应用程序的击键必须来自连接到目标的键盘(这是需要模拟但实际上没有连接键盘的部分)。

谢谢。

Cam*_*ird 5

正是Expect的域,stackoverflow 偶然地用自己的标签识别了它。

实现您所追求的 OpenGL 自动化的最快方法,同时尽可能少地学习 Expect,可能是通过autoexpect的方式。