El historial de Bash no se recuerda en la Terminal

3

Mi historial de Bash se recuerda cuando me conecto a mi Mac a través de SSH, uso iTerm2 o inicie bash en la aplicación de Terminal incorporada (cada comando que escribí bash está guardado) pero no es cuando solo uso La aplicación de terminal incorporada. Ya he intentado restablecer los perfiles en la Terminal. También verifiqué la propiedad y los permisos de .bash_history . Más tarde también intenté borrar este archivo. Esta respuesta tampoco ayudó. Mi shell predeterminado definitivamente es bash .

    
pregunta Ph99Ph 25.12.2015 - 14:32

2 respuestas

1

Comience a aislar la fuente del problema eliminando cualquier personalización del historial de Bash. Por ejemplo, cualquier código que establezca variables de shell que comiencen con HIST , o use set -o para establecer las opciones de shell history o histexpand .

El código de historial de comandos por sesión en /etc/bashrc_Apple_Terminal intenta mantener la compatibilidad con las variables del historial de Bash e intenta detectar cuándo el usuario probablemente está haciendo algo con lo que no puede ser compatible y desactiva el mecanismo en ese caso (porque el usuario está haciendo algo arbitrario, como cargar, guardar o modificar el historial). Sin embargo, si tiene scripts que ejecutan el comando history , ese código no tiene forma de saberlo por adelantado; deberá actualizar su código para mantener la compatibilidad con el nuevo historial de comandos por sesión o deshabilitar el historial por sesión configurando SHELL_SESSION_HISTORY=0 como se describe en la documentación en /etc/bashrc_Apple_Terminal .

Si no está personalizando HISTFILE , HISTTIMEFORMAT o la opción de shell histappend , otra cosa que debe verificar es si sus secuencias de comandos de inicio de shell modifican la variable PROMPT_COMMAND o la trampa EXIT sin concatenar el valor anterior para evitar borrarlo.

Vea los comentarios en /etc/bashrc_Apple_Terminal para obtener una descripción de cómo funciona el mecanismo y cómo personalizarlo o desactivarlo.

    
respondido por el Chris Page 30.12.2015 - 14:05
0

Consulte esta respuesta de una pregunta similar. El Capitán realizó algunos cambios mediante los cuales intenta hacer un historial dependiente de la sesión. Es probable que pueda solucionar su problema simplemente ejecutando touch ~/.bash_sessions_disable para crear un archivo de marca para deshabilitar este comportamiento.

    
respondido por el Tom Anthony 01.01.2016 - 21:34

Lea otras preguntas en las etiquetas