Eu defini export HISTSIZE=99999999999999
, mas essa é a melhor maneira? Não sei se pode ocorrer um estouro. Estou procurando uma maneira testada e confiável de remover os limites do histórico de comandos.
Responder1
É de fatonão(bem) documentado e acho que 99% dos usuários do bash neste plano definem HISTSIZE para um número muito grande.
No GNU bash, a história é tratada através da poderosa biblioteca readline. A biblioteca tem a opção de limitar o tamanho do histórico ("sufocar" no jargão readline) ou não e o bash simplesmente define o histórico readline como sufocado/não sufocado. Se você olhar, por exemplo, GNU bash versão 4.2, arquivovariables.c, linha 4443, função void sv_histsize (char*) você encontrará este comentário (e todo o sufocamento/desencorajamento na função a seguir):
/* O que fazer depois que as variáveis HISTSIZE ou HISTFILESIZE forem alteradas.
Se houver um valor para este HISTSIZE (e for numérico), abafe o histórico. Caso contrário, se NÃO houver valor para esta variável,
desfaça o histórico. Se o nome for HISTFILESIZE e seu valor for
numérico, trunque o arquivo de histórico para não conter mais do que esse número
de linhas. */
Então isso deve funcionar:
export HISTSIZE=""
E também isto (se você se sentir desafiador):
export HISTSIZE="GOTCHA"
Espero que isto ajude.