Cómo establecer la cantidad de commands que la historia restring

Estoy usando bash. Para navegar por mi historial de commands, estoy llamando al command history que creo que está llamando al progtwig Gnu del mismo nombre. (No sé si hay una mejor manera específica de bash).

En mi .bashrc actualmente tengo una línea de export PROMPT_COMMAND='history -a' para preservar el historial de mis múltiples sesiones bash que estoy ejecutando.

Si hago historia, actualmente solo veo 524 inputs. ¿Es esto configurable? Me gustaría boost esto a un número mucho mayor, digamos 2000.

Solutions Collecting From Web of "Cómo establecer la cantidad de commands que la historia restring"

En primer lugar, la history es la forma más específica, nada mejor. El command history es un bash incorporado como se puede ver ejecutando

 $ type history history is a shell builtin 

Ahora, la cantidad de commands que restring está controlada por la variable HISTSIZE . Para establecerlo en un número mayor, agregue esta línea a su .profile (para .profile por qué este es un lugar mejor que .bashrc , vea aquí ):

 export HISTSIZE=2000 

A partir de ahora, la history devolverá los últimos 2000 commands que ejecutó.

Sí, el man bash dice:

HISTSIZE – La cantidad de commands para recordar en el historial de commands

Pero hay una variable de Readline : history-size

Establezca el número máximo de inputs de historial guardadas en la list de historial. Si se establece en cero, las inputs de historial existentes se eliminan y no se guardan nuevas inputs. Si se establece en un valor inferior a cero, el número de inputs del historial no está limitado. Por defecto, el número de inputs del historial no está limitado.

Puede establecer history-size con HISTSIZE=1000 , bind 'set history-size 1000' o con la siguiente línea en su ~/.inputrc : set history-size 1000

Ejemplos :

 HISTSIZE=1000 bind 'set history-size 0' echo $HISTSIZE # prints 1000 bind -v | grep history-size # prints set history-size 0 history # prints nothing bind 'set history-size 0' HISTSIZE=1000 echo $HISTSIZE # prints 1000 bind -v | grep history-size # prints set history-size 1000 history # prints 13 echo $HISTSIZE\n14 bind -v | grep history-size\n15 history 

history-size disponible desde bash-4.0-alpha : CHANGES

La variable HISTSIZE dicta cuántos commands se mantienen en el historial de ejecución y HISTFILESIZE determina cuántos commands del historial de ejecución se guardan una vez que el shell se cierra.