【发布时间】:2015-08-06 10:35:30
【问题描述】:
我正在编写一个将在 bash 终端后台运行的程序。我希望能够阅读用户在终端中输入(或粘贴)的文本。
例子:
<b>user@host:~/Documents/Code$</b> grep -rli whatever ./
假设用户在 bash 中输入了一些内容但还没有按下回车键(如上所示)。
有没有办法读取输入缓冲区来获取当前位于输入缓冲区中的文本?在这个例子中,我希望能够阅读"grep -rli whatever ./"。用户按下回车键并显示新的提示后,此方法应返回空字符串。
我曾考虑过抓取击键,但这不会检测所有形式的输入(例如,如果用户使用复制/过去、按 Tab 自动完成或使用箭头键调出上一个命令)。
我首选的接口是 python,但如果有人知道任何其他语言的解决方案,我会很高兴听到它。
【问题讨论】: