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

11

En mi computadora en el trabajo, mi shell bash recuerda el historial de las sesiones anteriores, incluso si acabo de abrir una nueva terminal.
En mi computadora en casa, esto no sucede.
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 podría configurar esto en la computadora de mi casa para que recuerde el historial de las sesiones?

    
pregunta Petruza 07.05.2012 - 16:01

5 respuestas

9

Tendrá que decirle a bash dónde debe guardar su archivo de historial y cuántas líneas debe 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
    
respondido por el Aaron Lake 07.05.2012 - 16:19
4

Acabo de descubrir que tuve un problema similar, aunque mi empleador solo tiene dos Mac y ninguno de ellos se sienta en mi escritorio mi . Inaceptable, pero una batalla para otro momento.

De todos modos, en casa, Mac Mini (migrado de MacBook Pro) no cooperó incluso después de configurar .bashrc y / o .profile . Luego descubrí que mi archivo ~/.bash_history era propiedad misteriosa de la raíz. Tenía que hacer esto:

sudo -iu root
cd ~(myusername)
chown (myusername) .bash_history

(Sí, sé que se puede hacer con menos comandos. Hábito.)

Luego salí de Terminal, y comencé una nueva. Woot! Todo tipo de historia previamente perdida vino corriendo de nuevo. Qué bien.

Probabilidad de que alguien que lea esto se haya puesto accidentalmente en esta situación: 0.2%. Estoy seguro de que me deshice de esto cuando "arreglé" demasiado otra cosa.

    
respondido por el kelvin0mql 26.01.2014 - 18:13
4

Tuve este problema y lo que funcionó para mí fue crear un archivo llamado .bash_sessions_disable en mi carpeta de usuario ( ~/ ).

Básicamente, OS X crea archivos de historial en la carpeta .bash_sessions para cada sesión (en mi caso, uno para cada pestaña). E incluso cerrando adecuadamente estas sesiones, OS X no vuelve a reproducir el histórico en .bash_history .

Al crear .bash_sessions_disable , inhabilitas este comportamiento.

touch ~/.bash_sessions_disable
    
respondido por el Kleber Kihara 15.04.2016 - 14:36
1

Esta respuesta de este hilo Reddit me salvó:

  

Es probable que RVM impida la salida "hook" para que se ejecuten bash_sessions. Si comenta la siguiente línea en su perfil de .bash, debería funcionar.

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
    
respondido por el noio 01.06.2016 - 11:36
0

También tuve un problema similar, no se ha registrado ningún historial. 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 agregar un archivo .bash_history , por lo que

nano .bash_history

y luego escriba cualquier cosa en el archivo (de lo contrario no se creará), salga y guarde. Después de esto, la historia comenzó a funcionar normalmente.

    
respondido por el Fabian 12.12.2014 - 15:18

Lea otras preguntas en las etiquetas