繁体   English   中英

在Linux C Shell上显示带有向上箭头的最后一个命令

[英]Show last command with up arrow on a linux c shell

我已经在c中实现了一个简单的linux shell。 现在,我添加了一些功能,我立即想到的一个功能是能够使用向上箭头显示最后一个命令。

问题1:
但是,我不知道该如何完成。 你呢?

问题2:
任何有关如何存储“历史”命令的评论也应受到赞赏。 我想像一个允许访问所有元素的队列之类的东西是个好主意。 我错了吗? 我必须实现它还是应该知道一些好的实现方法?

谢谢。

在您的shell中建立libeditreadline支持。

如果您想偷懒,可以使用rlwrap

rlwrap prog

我为HelenOS编写了shell。 抓住bzr存储库,然后导航到uspace/app/bdsh (bdsh代表(b)rain(d)ead(sh)ell))。

此后,其他贡献者将行编辑/历史记录/制表符完成功能添加到了处理输入的功能中。 它纯粹用ANSI C编写,不链接glibc并实现自己的功能。 代码(在shell和底层的HelenOS libc中)都是3子句BSD,您可以在任何地方使用它。

如果没有其他要求,那么仅检查一下实施就可能会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM