在 bash 中模拟 CTRL+A 按键事件而不使用 Expect
如何通过 bash 将 CTRL+A 按键事件重定向到程序?我无法使用标准 Linux 发行版中尚未存在的 Expect 或其他应用程序。
要求:bash? gedit 1.txt < (发送 CTRL+A 字符)
How can I redirect a CTRL+A keypress event to a program through bash? I can not use expect or other applications not already present in standard linux distributions.
Requirement: bash? gedit 1.txt < (send CTRL+A character)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是否可能取决于程序、它是用什么工具包编写的以及程序和/或其工具包是否支持外部命令。大多数 GUI 程序都不会这样做,主要是因为当应用程序开始自动执行操作时,用户会感到不安。
您可能会检查您的应用程序是否可作为库使用,该库将允许您构建一个无头程序,您可以通过任何您想要的方式来命令该程序,而不是尝试将事件发送到其 GUI。
Whether or not it's possible depends on the program, what toolkit it was written in and whether or not the program and/or its toolkit supports being commanded externally. Most GUI'd programs don't, largely because users get disconcerted when their applications start doing things automagically.
You might check if your application is available as a library that will let you build a headless program that you can command by whatever means you want instead of trying to send events to its GUI.