NetBSD 中 Almquist shell 的历史

NetBSD 中 Almquist shell 的历史

在 NetBSD 中/bin/sh是一个修改版本阿尔姆奎斯特壳。通过命令fc -l可以查看在提示符中输入的最后 16 个命令当前的会话和不是那些年长的

环境变量HISTSIZE设置为 1000 并在bash这意味着最后 1000 个命令(是否它们是在当前会话中键入的)保存在.bash_history主目录中命名的文件中。但这里似乎只是说这个会话中的最后1000条命令保存在历史记录中,而历史记录似乎没有保存在文件中。

我正在寻找一个历史记录,它不仅可以读取当前会话的最后命令,还可以之前会话的命令(例如,上次启动系统的时间,而不是实际时间)。做/bin/sh NetBSD 中默认有这样的历史?如果没有,是否可以在该 shell 中创建这样的历史记录?

答案1

我不太明白你的问题,你真正的问题是什么?

首先,您声明您可以通过内置访问历史记录fc,然后您询问 shell 是否实现历史记录?

此外,man page状态:

可以访问的先前命令的数量由变量的值决定HISTSIZE

登录 shell 首先从文件中读取命令/etc/profile以及.profile它们是否存在。如果环境变量ENV是在进入 shell 时设置的,或者是在.profile登录 shell 中设置的,则 shell 接下来会从 中命名的文件中读取命令ENV。因此,用户应该将仅在登录时执行的命令.profile以及为文件中的每个 shell 执行的命令放置在该ENV文件中。要将ENV变量设置为某个文件,请将以下行放入.profile您的主目录中

      ENV=$HOME/.shinit; export ENV

替换为.shinit您想要的任何文件名。

如果您的问题是历史记录是否被写入文件,那么情况似乎并非如此。

相关内容