Você precisa modificar o PROMPT_COMMAND e o HISTCONTROL para fazer isso corretamente. O seguinte deve funcionar para você:
# The secret sauce is "erasedups," which replaces the default of "ignoredups."
export HISTCONTROL=erasedups:ignorespace
# Write the history to HISTFILE before showing the prompt.
export PROMPT_COMMAND='history -w'
Duas advertências a serem consideradas com essa abordagem são:
- Você perderá o histórico (especificamente entradas duplicadas), o que pode ser importante se você confiar nos valores de HISTTIMEFORMAT para qualquer coisa.
- Você truncará continuamente seu HISTFILE para HISTFILESIZE.
Estes não são necessariamente problemas, apenas problemas menores que você deve estar ciente.