A razão mais provável para isso é que você definiu HISTCONTROL para um valor que inclua ignoredupes . Teste executando
echo $HISTCONTROL
Se isso retornar algo como ignoredups , isso significa que os comandos duplicados não são salvos no seu histórico. Eles são contados pelo \# do PS1. Isso significa que \# será incrementado com prazer toda vez que você executar o mesmo comando duas vezes, mas seu history não aumentará e isso levará à discrepância que você observar.
Então, remova o ignoredupes de HISTCONTROL (isso geralmente é definido em seu ~/.profile , mas também pode ser definido em ~/.bashrc ) ou use \! em vez de \# em PS1 .