0

我无法启动这段代码,我真的不知道从哪里开始。我试图了解该怎么做。我要做的几乎就是一旦我执行了文件,我应该能够输入“历史”,它应该会显示我所有使用过的命令的历史。我将如何编码此文件以允许我这样做?任何提示或线索将不胜感激!

4

1 回答 1

3

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

每次你读取一个命令(完整的命令——一个管道,或者一个for循环,或者其他什么),你也会写入你的历史机制。

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

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

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

于 2013-10-28T06:30:41.957 回答