Mi historial de Bash se recuerda cuando me conecto a mi Mac a través de SSH, uso iTerm2 o inicio bash
en la aplicación Terminal integrada (cada comando que escribí bash
se guarda), pero no cuando solo uso la aplicación Terminal integrada. Ya intenté restablecer los perfiles en Terminal. También verifiqué la propiedad y los permisos de .bash_history
. Más tarde también traté de eliminar este archivo. Esta respuesta tampoco ayudó. Mi shell predeterminado definitivamente es bash
.
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 que se utilice set -o
para establecer las opciones de shell history
o histexpand
.
El código del historial de comandos por sesión /etc/bashrc_Apple_Terminal
intenta mantener la compatibilidad con las variables del historial de Bash e intenta detectar cuándo es probable que el usuario esté haciendo algo con lo que no puede ser compatible y deshabilita 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 history
comando, ese código no tiene forma de saberlo de antemano; 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 como se SHELL_SESSION_HISTORY=0
describe en la documentación en /etc/bashrc_Apple_Terminal
.
Si no está personalizando HISTFILE
o HISTTIMEFORMAT
la histappend
opción de shell, otra cosa que debe verificar es si sus scripts de inicio de shell modifican la PROMPT_COMMAND
variable o la EXIT
trampa sin concatenar el valor anterior para evitar borrarlo.
Consulte los comentarios para /etc/bashrc_Apple_Terminal
obtener una descripción de cómo funciona el mecanismo y cómo personalizarlo o deshabilitarlo.
Ver esta respuesta de una pregunta similar. El Capitán realizó algunos cambios por los que 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 bandera para deshabilitar este comportamiento.
sin ladera
usuario162962
usuario162962
barker
Jari Turkia
Jari Turkia
~/.bash_profile
conSHELL_SESSION_HISTORY
no hizo nada. El problema era.bash_history
tener los permisos-rw------- root staff
establecidos por/etc/bashrc_Apple_Terminal
. Un poco dechown
ing lo resolvió. Ahora la historia funciona con iTerm2.