Acredito que histappend
é o comportamento definido para um terminal.
Tente o seguinte em um novo terminal:
shopt -s histappend
export HISTSIZE=1
export HISTFILESIZE=500
Em seguida, feche o terminal. Você verá então como o seu arquivo de histórico tem os últimos 499 últimos comandos que ele já tinha mais " export HISTFILESIZE=50
", que você acabou de digitar. Seu histórico foi anexado e truncado para 500.
Agora tente isso em outro novo terminal:
shopt -u histappend
export HISTIZE=1
export HISTFILESIZE=500
E novamente, feche o terminal. Você verá como agora seu terminal tem apenas um comando " export HISTFILESIZE=500
".
O truque é que sem histappend
, o arquivo de histórico é sobrescrito com o que existe atualmente no histórico de terminal (um comando).
Você não notará o seu comportamento se HISTFILE
= HISTFILESIZE
, mas eu acredito que não tem nada a ver com o trabalho em vários terminais, isso deve ser gerenciado por outra coisa ...
Espero que ajude!