Está funcionando conforme o esperado. ignoredups
, implícito por ignoreboth
, não adiciona um comando ao histórico se for igual ao comando anterior imediato. Não parece mais distante na história. Do manual :
Um valor de "
ignoredups
" faz com que as linhas correspondam às anteriores entrada de histórico para não ser salvo.
Então, isso adicionará foo
duas vezes ao histórico:
$ foo
$ bar
$ foo
Mas será assim:
$ foo
$ bar
$ foo
$ foo
O último foo
não será adicionado ao histórico, pois o comando anterior foi foo
. Use erasedups
em conjunto:
Um valor de "
erasedups
" faz com que todas as linhas anteriores correspondam ao linha atual a ser removida da lista de histórico antes que a linha seja salvo.
Então:
HISTCONTROL=ignoreboth:erasedups