J'ai mis export HISTSIZE=99999999999999
mais est-ce le meilleur moyen ? Je ne sais pas si un débordement pourrait se produire. Je cherche un moyen testé et fiable de supprimer les limites de l'historique des commandes.
Réponse
Trop de publicités?C'est en effet no (bien) documenté et je pense que 99% des utilisateurs de Bash sur ce plan mettent HISTSIZE à un nombre très grand.
Dans le GNU bash, l'historique est géré par la puissante bibliothèque readline. La bibliothèque a la possibilité de limiter la taille de l'historique ("étouffer" dans le jargon de readline) ou non et bash définit simplement l'historique readline sur étouffé/non étouffé. Si vous regardez par exemple dans GNU bash version 4.2, fichier variables.c, ligne 4443, fonction void sv_histsize (char*) vous trouverez ce commentaire (et l'ensemble de l'étouffement/non étouffement dans la fonction qui suit) :
/* Ce qu'il faut faire après le changement des variables HISTSIZE ou HISTFILESIZE.
S'il existe une valeur pour cette HISTSIZE (et qu'elle est numérique), alors étouffer l'historique. Sinon, s'il n'y a PAS de valeur pour cette variable,
désamorcer l'histoire. Si le nom est HISTFILESIZE, et sa valeur est
numérique, le fichier historique est tronqué pour ne pas contenir plus que ce nombre.
lignes. */
Cela devrait donc faire l'affaire :
export HISTSIZE=""
Et aussi ceci (si vous vous sentez défiant) :
export HISTSIZE="GOTCHA"
J'espère que cela vous aidera.