En mi ordenador del trabajo, mi shell bash recuerda el historial de sesiones anteriores, incluso si acabo de abrir un nuevo terminal.
En el ordenador de mi casa, esto no ocurre.
Tengo el mismo sistema operativo 10.6.8 en ambas máquinas y no tengo ninguna configuración relacionada con el historial en .bash_profile
.
¿Cómo puedo configurar esto en mi ordenador de casa para que recuerde el historial entre sesiones?
Respuestas
¿Demasiados anuncios?Tendrás que decirle a bash dónde guardar tu archivo de historial, y cuántas líneas guardar:
# Set the location of your HISTFILE
echo "export HISTFILE=/Users/<USERNAME>/.bash_history" >> ~/.bash_profile
# Number of lines to keep (1000 in this example)
echo "export HISTFILESIZE=1000" >> ~/.bash_profile
# Set how many commands to keep in the current session history list
echo "export HISTSIZE=80" >> ~/.bash_profile
# Ignore commands that start with a space
echo "export HISTIGNORE=\"&:[ ]*:exit\"" >> ~/.bash_profile
Acabo de descubrir que tengo un problema similar, aunque mi empleador sólo tiene dos Macs, y ninguno se sienta en mi escritorio. Inaceptable, pero una batalla para otro momento.
De todos modos, en casa, el Mac Mini (migrado desde el MacBook Pro) no cooperó incluso después de configurar .bashrc
y/o .profile
. Entonces descubrí que mi ~/.bash_history
archivo era misteriosamente propiedad de Root. Tuve que hacer esto:
sudo -iu root
cd ~(myusername)
chown (myusername) .bash_history
(Sí, ya sé que se puede hacer en menos comandos. Hábito).
Luego salí de la Terminal, e inicié una nueva. ¡Woot! Todo tipo de historia previamente perdida regresó rápidamente. Qué bien.
Probabilidad de que alguien que lea esto se haya puesto accidentalmente en esta situación: 0.2%. Estoy seguro de que lo he estropeado al "arreglar" con demasiado celo otra cosa.
Tuve este problema y lo que me funcionó fue crear un archivo llamado .bash_sessions_disable
en mi carpeta de usuario ( ~/
).
Básicamente, OS X crea archivos de historial en .bash_sessions
para cada sesión (en mi caso, una para cada pestaña). E incluso cerrando correctamente estas sesiones, OS X no reproduce el histórico a .bash_history
.
Creación de la .bash_sessions_disable
se desactiva este comportamiento.
touch ~/.bash_sessions_disable
La respuesta de este Hilo de Reddit me salvó:
Probablemente es RVM impidiendo que se ejecute el "gancho" de salida para bash_sessions. Si comentas la siguiente línea en tu .bash_profile, debería funcionar.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Yo también tuve un problema similar, no se registraron antecedentes. Las soluciones dadas no funcionaron, pero al final descubrí que el problema era tan simple como la falta de .bash_history
La solución fue ir a /home/[username]/
y añadir un archivo .bash_history
Así que
nano .bash_history
y luego escribir cualquier cosa en el archivo (de lo contrario no se creará), salir y guardar. Después de esto el historial comenzó a funcionar normalmente.