Ho impostato export HISTSIZE=99999999999999
ma è il modo migliore? Non so se potrebbe verificarsi un overflow. Sto cercando un modo testato e affidabile per rimuovere i limiti della cronologia dei comandi.
Ho impostato export HISTSIZE=99999999999999
ma è il modo migliore? Non so se potrebbe verificarsi un overflow. Sto cercando un modo testato e affidabile per rimuovere i limiti della cronologia dei comandi.
Risposte:
in effetti non è (ben) documentato e immagino che il 99% dell'utente bash su questo piano abbia impostato HISTSIZE su un numero elevato di veeery.
Nella storia della bash GNU viene gestita attraverso la potente libreria readline. La libreria ha la possibilità di limitare la dimensione della cronologia ("soffocare" nel gergo di readline) oppure no e bash semplicemente imposta la cronologia di readline su soffocata / non rettificata. Se guardi ad esempio GNU bash versione 4.2, file variabili.c, riga 4443, funzione void sv_histsize (char *) troverai questo commento (e l'intera soffocamento / slegamento nella funzione che segue):
/ * Cosa fare dopo la modifica delle variabili HISTSIZE o HISTFILESIZE.
Se esiste un valore per questo HISTSIZE (ed è numerico), quindi soffoca la cronologia. Altrimenti, se non esiste
alcun valore per questa variabile, annullare la cronologia. Se name è HISTFILESIZE e il suo valore è
numerico, tronca il file della cronologia in modo che non contenga più di così tante
righe. * /
Quindi questo dovrebbe fare il trucco:
export HISTSIZE=""
E anche questo (se ti senti provocatorio):
export HISTSIZE="GOTCHA"
Spero che sia di aiuto.