13 votos

¿Cómo hacer que bash (Terminal.app) recuerde el historial de sesiones anteriores?

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?

14voto

user4416 Puntos 41

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

5voto

user68639 Puntos 1

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.

4voto

Kleber Kihara Puntos 49

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

1voto

Bri Puntos 81

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"

0voto

Fabian Puntos 1

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.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X