Come condividere la cronologia tra le schede dei terminali?


23

In genere mi ritrovo a utilizzare due o tre schede nel mio Terminale su OS X.

Un piccolo inconveniente è che, per impostazione predefinita, le schede non condividono la cronologia dei comandi. Quindi, cercare un comando precedente che ho eseguito su un'altra scheda digitando history | grep thingIamlooking fornon lo trova.

Esiste un modo per forzare le schede Terminale a condividere la cronologia o c'è qualche altro comando " history_of_all_tabs "?

Risposte:


29

Non penso che ci sia un modo per condividere la cronologia solo tra le schede Terminale, ma qui c'è qualcosa che potrebbe aiutarti.

La cronologia non è qualcosa gestita dal tuo terminale ma dalla tua shell (bash, tcsh, zsh, ecc.)

Ecco alcune opzioni che ti aiuteranno a impostare una cronologia condivisa tra tutte le finestre del terminale (le istanze della shell).

Questo dovrebbe essere messo da qualche parte nel tuo .bashrcfile.

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"

1
+.5 per una buona risposta, +.5 per una buona grammatica;)
Matt,

La soluzione di Lifely non funziona per me a El Capitan. Affatto. Anche la lunghezza massima del file cronologico. Esiste una nuova soluzione dal 2012? (Avrei commentato sopra, ma non ho il rappresentante)
JP Duffy,

1
Questo funziona per me (aggiunto in .bash_profile) in El Capitan con l'aggiunta dell'esportazione SHELL_SESSION_HISTORY = 0 nel mio .bash_profile e in esecuzione: touch ~ / .bash_sessions_disable
Andy

funziona alla grande su Ubuntu 18.04 per bash
anon58192932
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.