Você definiu SAVEHIST=10000
, mas deixou HISTSIZE
em seu valor padrão de 30. Isso significa que qualquer sessão manterá no máximo 30 entradas na memória. Devido à opção append_history
, o arquivo de histórico pode conter mais histórico do que mantido na memória. Se a entrada que você está procurando não estiver na memória, ela não será encontrada.
Correção fácil: defina SAVEHIST
como maior. Na maioria das vezes, SAVEHIST
e HISTSIZE
devem ter o mesmo valor.
Se você está com falta de memória, suponho que faça sentido manter menos entradas na memória e carregá-las apenas quando você as pesquisar. Mas isso soa como muito esforço de codificação para um benefício bastante pequeno (10000 entradas seriam algo como um megabyte, que é grande para uma instância de shell, mas não fora de questão).
Você obterá uma milhagem melhor de suas entradas de histórico com a opção hist_ignore_all_dups
(em vez de hist_find_no_dups
).