如果我输入以下内容:
history -c
history
我明白了1110 history
。
为什么清除命令历史记录不会将计数重置为 1,以及如何重置计数?
注意:它正在重置数字,但不是重置为 1。如果我输入 5 个命令,数字会更改为 1114,但history -c
只会将其重置为 1110。
答案1
来自bash
手册页:
在启动时,历史记录从变量 HISTFILE 命名的文件(默认 ~/.bash_history)初始化...
当交互式 shell 退出时,最后的 $HISTSIZE 行将从历史列表复制到 $HISTFILE。如果启用了 histappend shell 选项(请参阅下面 SHELL BUILTIN COMMANDS 下 shopt 的描述),这些行将附加到历史文件中,否则将覆盖历史文件...
因此,仅在退出时文件~/.bash_history
才会更新,并且如果histappend
设置了,则默认情况下该文件不会被覆盖。
我的建议是,删除~/.bash_history
,然后执行history -c
。