15 votos

¿Cómo puedo hacer que el Terminal mantenga un historial separado por pestaña/ventana?

Cuando reinicio mi Mac, se cierra y guarda los búferes de cada pestaña correctamente, ya que están ahí de nuevo cuando el ordenador vuelve a arrancar. Pero el historial de comandos no se almacena correctamente por ventana/pestaña. Son todos el mismo búfer.

Supongo que es porque bash utiliza el mismo ~/.bash_history para todos los terminales, pero ¿hay alguna manera de evitar ¿mejorar esto? ¿Hacer que bash, o tal vez Terminal, los almacene por separado?

7voto

Philzen Puntos 116

Podría hacer algo así en su .bashrc :

MYTTY=`tty`
HISTFILE=$HOME/.bash_history_`basename $MYTTY`

Esto creará archivos de historial separados en su directorio de inicio como .bash_history_ttys002 . Cuando se crea una nueva ventana de terminal, se utilizará el archivo de historial correspondiente al nombre de la tty, que normalmente estará determinado simplemente por el orden en que se crean las ventanas de terminal.

6voto

Mikael Lepistö Puntos 111

Lo he implementado añadiendo

export HISTFILE="$HOME/.bash_history_$TERM_SESSION_ID"
if [ ! -e $HISTFILE ]; then cp "$HOME/.bash_history" "$HISTFILE"; fi

a mi ~/.bash_profile archivo. Ahora, cuando cierro el terminal y lo abro de nuevo, cada pestaña tiene su propio historial de comandos restaurado. También cuando creo una nueva pestaña, el historial por defecto se inicializa desde .bash_history

También para hacer Terminal para conservar las pestañas abiertas entre el cierre y el reinicio, debe asegurarse de que la opción "close windows when quitting app" (on Yosemite) está desactivado en System Preferences -> General .

0voto

Todd Pierzina Puntos 441

Puede establecer un $HISTFILE personalizado para cada una de sus instancias de Terminal.

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