¿Cómo compartir el historial entre pestañas de terminal?

Generalmente me encuentro usando dos o tres pestañas en mi Terminal en OS X.

Un inconveniente menor es que, de forma predeterminada, las pestañas no comparten su historial de comandos. Por lo tanto, buscar un comando anterior que ejecuté en otra pestaña escribiendo history | grep thingIamlooking forno lo encuentra.

¿Hay alguna forma de obligar a las pestañas de Terminal a compartir el historial, o hay algún otro comando " history_of_all_tabs "?

Respuestas (1)

No creo que haya una manera de compartir el historial solo entre las pestañas de la Terminal, pero aquí hay algo que podría ayudarlo.

El historial no es algo que maneja tu terminal sino tu shell (bash, tcsh, zsh, etc.)

Aquí hay algunas opciones que lo ayudarán a configurar un historial compartido entre todas las ventanas de terminal (las instancias de shell).

Esto debe colocarse en algún lugar de su .bashrcarchivo.

export HISTCONTROL=ignoredups:erasedups  # no duplicate entries
export HISTSIZE=100000                   # big big history
export HISTFILESIZE=100000               # big big history
shopt -s histappend                      # append to history, don't overwrite it

# Save and reload the history after each command finishes
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
+.5 por buena respuesta, +.5 por buena gramática;)
La solución de @Lifely no me funciona en El Capitán. En absoluto. Incluso la longitud máxima del archivo de historial. ¿Existe una nueva solución desde 2012? (Hubiera comentado arriba, pero no tengo el representante)
Esto funciona para mí (agregado en .bash_profile) en El Capitan con la adición de export SHELL_SESSION_HISTORY=0 en mi .bash_profile y ejecutando: toque ~/.bash_sessions_disable
funciona muy bien en Ubuntu 18.04 para bash
Consulte este comentario: unix.stackexchange.com/questions/1288/… "El problema con esta solución PROMPT_COMMAND es que los números de cada elemento del historial cambian después de cada comando :(. Por ejemplo, si escribe history y 1) ls 2) rm, luego haga !1 para repetir 1, el número de historial podría cambiar y podría ejecutar el comando rm..."
¿Se copió esta respuesta de unix.stackexchange.com/a/48113/19088 ?