2009-10-01 83 views
0

我正在编写自己的shell并需要实现历史记录功能,上下箭头键显示执行命令的历史记录。我需要找出何时按下上下键。在shell中捕获键码?

我该怎么做?

+0

作业?几乎确切的重复:http://stackoverflow.com/questions/1499001/taking-up-down-arrow-as-input-to-a-program-in-unix – 2009-10-01 11:04:04

回答

1

您想要在原始模式下捕捉输入。这可以得到还挺复杂的,但这里的,应该让你在正确的道路上一个例子:

http://docs.linux.cz/programming/c/unix_examples/raw.html

我假设你写你的shell在C。如果您使用的是更高级的语言,则可能有一种简单的方法来获取原始输入。在Python中,例如,我会使用ncurses模块。

+0

当然,没有什么特别的阻止他使用ncurses从C. – 2009-10-01 10:46:50