Não há linhas duplicadas no histórico bash [duplicado]

3

Supostamente, adicionar exportar HISTCONTROL=ignoreboth a .bashrc faria o truque, mas o que vejo na prática é que ainda existem linhas duplicadas no meu arquivo .bash_history .

Você pode ver meu .bashrc abaixo.

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"

Alguém sabe por que ainda estou recebendo linhas duplicadas?

    
por Psicofrenia 15.05.2013 / 12:17

2 respostas

4

HISTCONTROL afeta apenas as novas linhas hist.
O que eu acho que o autor é uma maneira de editar o arquivo histórico existente.

nl ~/.bash_history | sort -k 2 | uniq -f 1 | sort -n | cut -f 2 > temp_file
seguido por temp_file > ~/.bash_history

Isto deve preservar a ordem de linha, enquanto remove os dups do arquivo hist existente.
Pode deixar para trás carimbos de hora fantasma, se você tiver ativado os carimbos de hora. Se você tiver esse problema, comente e eu prepararei uma segunda limpeza para eles.

    
por demure 15.05.2013 / 13:59
0

"apagados" deve fazer o truque, você source .bashrc após a sua alteração?

Você pode, por favor, echo $HISTCONTROL e nos informar a saída? Além disso: tenha certeza que você realmente quer fazer isso no .bashrc e não no .bash_profile ...

Basicamente, o que eu suspeito é que você simplesmente não tem HISTCONTROL em seu ambiente.

    
por Marcos Marado 15.05.2013 / 12:44

Tags