На этот вопрос уже есть ответ здесь:
Предположительно, добавление экспорта 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"
Кто-нибудь знает, почему у меня все еще появляются повторяющиеся строки?
HISTCONTROL влияет только на новые строки истории.
Что я думаю, автор, что такое способ редактирования существующего файла истории.
nl ~/.bash_history | sort -k 2 | uniq -f 1 | sort -n | cut -f 2 > temp_file
, за которым следуют
temp_file > ~/.bash_history
Этот должен сохранять порядок строк, удаляя дубликаты из существующего файла истории.
Может оставить метки времени призрака, если вы включили метки времени.
Если у вас возникла эта проблема, прокомментируйте, и я подберу вторую уборку для них.
"erasedups" должен помочь, ты source .bashrc
после твоего изменения?
Не могли бы вы, пожалуйста, echo $HISTCONTROL
и сообщить нам результат? Также: убедитесь, что вы действительно хотите сделать это на .bashrc, а не на .bash_profile ...
По сути, я подозреваю, что у вас просто нет HISTCONTROL в вашей среде.