.inputrc vs .bashrc configuración

9

He notado pocas configuraciones .bashrcy los .inputrcarchivos tienen el mismo aspecto o son similares, como:

shopt -s nocaseglobvs set completion-ignore-case
export HISTSIZEvs set history-size
export HISTFILESIZEvsset history-size

¿La .inputrcconfiguración también afecta la finalización y el tamaño del historial en Python Shell (si se ejecuta dentro del terminal)?

¿Está HISTSIZElimitado history-sizeo lo anula?

uno demasiados
fuente

Respuestas:

10

Del bashmanual:

history-size (sin configurar)

Establezca el número máximo de entradas de historial guardadas en la lista de historial. Si se establece en cero, las entradas del historial existentes se eliminan y no se guardan nuevas entradas. Si se establece en un valor inferior a cero, el número de entradas del historial no está limitado. De forma predeterminada, el número de entradas del historial se establece en el valor de la HISTSIZE variable de shell. Si se intenta establecer history-sizeun valor no numérico, el número máximo de entradas del historial se establecerá en 500.

Así que si se establece HISTSIZE, no ajuste history-sizeen .inputrc. La biblioteca readline (para la cual .inputrces la configuración) no le importa lo que establezca HISTFILESIZE. HISTFILESIZEes el tamaño al que $HISTFILEse trunca el archivo de historial ( ) cuando bashsale una sesión de shell (por bash, no por la biblioteca readline).

De acuerdo con la pregunta " ¿Hay alguna manera de establecer el tamaño de la lista de historial en bash en más de 5000 líneas? ", La history-sizeconfiguración de la biblioteca readline parece anular la HISTSIZEconfiguración en el shell, si ambas están configuradas.

La nocaseglobopción de shell no es la misma que la completion-ignore-caseconfiguración .inputrc. La opción de shell trata sobre el comportamiento global de nombre de archivo, mientras que la configuración de línea de lectura tiene que ver con la finalización del nombre de archivo (cuando presiona Taben la línea de comando).

La .inputrcconfiguración afecta a todos los programas que usan la biblioteca readline, no solo bash.

bashpuede iniciarse sin soporte de readline invocando con la --noeditingbandera.


Tenga en cuenta que ambas HISTSIZEy HISTFILESIZEson variables de shell , no variables de entorno y, por lo tanto, no necesitan exportarse.

Kusalananda
fuente