Eu defino, export HISTSIZE=99999999999999
mas essa é a melhor maneira? Não sei se pode ocorrer um estouro. Estou procurando uma maneira confiável e testada de remover os limites do histórico de comandos.
Eu defino, export HISTSIZE=99999999999999
mas essa é a melhor maneira? Não sei se pode ocorrer um estouro. Estou procurando uma maneira confiável e testada de remover os limites do histórico de comandos.
Respostas:
na verdade, não está (bem) documentado e acho que 99% do usuário do bash neste planejado define 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 da linha de leitura) ou não, e o bash simplesmente define o histórico da linha de leitura como sufocado / não sufocado. Se você examinar, por exemplo, o GNU bash versão 4.2, o arquivo variables.c, linha 4443, a função void sv_histsize (char *), você encontrará este comentário (e todo o sufocante / desestabilizador na função a seguir):
/ * O que fazer após as variáveis HISTSIZE ou HISTFILESIZE mudarem.
Se houver um valor para este HISTSIZE (e é numérico), sufoque o histórico. Caso contrário, se não houver valor para essa variável,
descompacte o histórico. Se o nome for HISTFILESIZE e seu valor for
numérico, trunque o arquivo de histórico para conter não mais que muitas
linhas. * /
Portanto, isso deve fazer o truque:
export HISTSIZE=""
E também isso (se você se sente desafiador):
export HISTSIZE="GOTCHA"
Espero que isto ajude.