0

因为在关闭并且不关闭 gnome 终端时似乎经常没有保存历史记录,所以如果该行不重复,我想在显示提示之前附加到 bash 历史记录。虽然我export HISTCONTROL=ignoreboth在 .bashrc 中,这应该意味着被忽略,但它似乎不起作用,因为我仍然在 bash_history 中得到重复项。那么如何做到这一点呢?

提供进一步的指示,虽然不是解决方案:我认为 $PROMPT_COMMAND 需要有"$(history 1)" (if_not_duplicate) >> ~/.bash_history

但是 $(history 1) 需要更改,以便实际的命令得到输出,而不是历史条目,例如,它有行号。

如果它们已经插入,这将删除不相邻的重复项。

perl -nei '$H{$_}++ or print' ~/.bash_history 
4

1 回答 1

1

You need erasedups too if you want to remove duplicates from the history.

export HISTCONTROL=ignoreboth:erasedups

does the trick for me.

于 2012-04-29T13:30:41.857 回答