C中shell命令的历史命令从哪里开始

时间:2013-10-28 06:23:03

标签: c linux shell unix

我在启动此代码时遇到问题,我真的不知道从哪里开始。我想知道该怎么做。我要做的就是一旦我执行文件,我应该只能输入“历史记录”,它应该显示我所用的所有命令的历史记录。如何编写此文件以允许我这样做?任何提示或线索将不胜感激!

1 个答案:

答案 0 :(得分:3)

基础知识相对简单。您需要为历史记录设计合适的磁盘格式,请记住您可能不希望文件无限增长(尽管第一个版本可能没问题)。而且你需要一组函数来操作文件(打开,关闭,写入和搜索)。

每次读取命令(完整命令 - 管道或for循环或其他)时,您也会写入历史记录机制。

您的历史记录机制还应允许您检索以前的命令,列出它们,或按内容或数字搜索它们。

您应该考虑的细节包括确保在执行其他命令时关闭历史文件,并确保子shell不会写入历史记录(通常)。您需要考虑是否可以让多个shell访问同一个历史文件;您的历史会持续多个会话吗?如果您同时打开两个终端窗口会发生什么?

GNU readline库具有钩子,可以与历史库集成。它还提供了一个历史库。