Diferentes shells mantêm seu próprio histórico na memória até serem liberadas (gravadas) no arquivo de histórico, o que geralmente acontece quando você sai do shell, mas você pode sobrescrevê-lo da seguinte forma:
export PROMPT_COMMAND="history -a; history -c; history -r; ${PROMPT_COMMAND}"
Isso significa que toda vez que um novo prompt é emitido (ou seja, sempre que você executa um comando), primeiro o histórico é anexado ao arquivo, então ele é limpo da memória do shell atual e o shell atual é recarregado. o arquivo.
Isso significa que cada shell da sua conta no sistema, seja na tela ou em várias janelas ou outros, retém e exibe todo o histórico de comandos de todos os outros shells.
Coloque a linha no seu .bashrc e você pode aumentar o tamanho do seu histórico adicionando também:
export HISTSIZE=5000
24/11/2017 EDIT:
Acabei de perceber que há um problema com meu PROMPT_COMMAND: ele se referencia, o que significa que se você repetidamente source .bashrc
, ele adicionará mais e mais cópias de history -a; history -n
à variável. Então, o que você quer fazer é algo assim:
export PROMPT_COMMAND='history -a; history -n; <whatever other commands you want...>'