se agrega el historial de bash, pero histappend está desactivado

8

Estoy en Ubuntu 10.4 y mi shell es bash. Cuando abro varias terminales de GNOME y las cierro, el historial se adjunta correctamente. Cuando entro shoptdice entre otras cosas:

histappend      off

¿Alguien puede decirme dónde está configurado el comportamiento de agregar?

Ludwig Weinzierl
fuente
1
retomando 'ubuntu-10.04-lts' ya que ubuntu-10.10 aún no está disponible. Aunque escuche que se llamará algo Suricata.
Quack Quijote
1
por cierto, mis shells de bash en Lucid muestran todos los histappend como en ... todavía no hay ajustes ... ¿ya has ajustado tu configuración de bash ?
quack quijote
@quack: Gracias, estoy adelantado a mi tiempo, como siempre ;-)
Ludwig Weinzierl
@quack: He actualizado esta instalación varias veces, así que no estoy 100% seguro. Para mí no importa si histappend está activado o desactivado, el historial siempre se adjunta. Lo que realmente me interesa es por qué sucede esto. Sería perspicaz si pudieras comprar -u histappend y decirme si todavía está incluido en tu instalación.
Ludwig Weinzierl

Respuestas:

1

histappendes la configuración que esperaría controlar esto. Como esos no son shells de inicio de sesión, no será algo que ocurra en /etc/bash.bash.logouto ~/.bash_logout. Verifique si se establece una trampa ingresando trap -p. También haga echo $PROMPT_COMMANDpara ver si algo está pasando allí.

Pausado hasta nuevo aviso.
fuente
echo $ PROMPT_COMMAND devuelve echo -ne "\ 033] 0; $ {USER} @ $ {HOSTNAME}: $ {PWD / $ HOME / ~} \ 007". trap -p no devuelve nada. No tengo /etc/bash.logout y ~ / .bash_logout no contiene ningún historial de registro.
Ludwig Weinzierl
1

bashintenta agregar la historia tanto como sea posible. Con histappendon, garantizará siempre el historial de anexos. Si está desactivado, el historial se seguirá agregando solo hasta el número de comandos que haya Enteren una bashsesión interactiva > HISTSIZE. Cuando esto suceda, se sobrescribirá la historia.

Si desea sobrescribir la historia de forma explícita, se puede utilizar history -wen .bash_logouto una trampa de salida.

Publiqué con más detalle en esta respuesta sobre cómo funciona el bashhistorial de anexos.

dosis
fuente
-1

Escribí un consejo rápido sobre cómo configurar histappend esto en mi sitio, pero parafrasearé la publicación aquí, para responder a su pregunta, espero.

Debería poder configurar histappend para que esté 'activado' mediante shopt.

Para habilitar la ejecución

shopt -s histappend

Para deshabilitar ejecutar

shopt -u histappend

¿Eso ayuda?

Urraca
fuente