2009-10-01 77 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