据推测,添加导出HISTCONTROL=ignoreboth
即可.bashrc
解决问题,但实际上我看到的是我的.bash_history
文件中仍然存在重复的行。
你可以.bashrc
在下面看到我的。
export HISTFILESIZE=100000
export HISTSIZE=100000
export HISTIGNORE="ls*:rm*:cd*:CD*:ps*:exit*:reset*:clear*:synaptic*:mkdir*:cat*"
export HISTCONTROL=ignoreboth
shopt -s histappend
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
有人知道为什么我仍然收到重复的线条吗?
答案1
HISTCONTROL 仅影响新的直方图线。
我认为作者有一种编辑现有直方图文件的方法。
nl ~/.bash_history | sort -k 2 | uniq -f 1 | sort -n | cut -f 2 > temp_file
其次是
temp_file > ~/.bash_history
这应保留行顺序,同时从现有历史文件中删除重复项。
如果您已打开时间戳,则可能会留下幽灵时间戳。
如果您遇到此问题,请发表评论,我会再次清理这些问题。
答案2
“erasedups” 应该可以解决问题,你source .bashrc
改变之后呢?
您能echo $HISTCONTROL
告诉我们输出结果吗?另外:请确保您确实想在 .bashrc 上执行此操作,而不是在 .bash_profile 中执行此操作...
基本上,我怀疑您的环境中根本没有 HISTCONTROL。