É possível que seu $ HISTFILE seja de propriedade da raiz. Supondo que você esteja usando o bash como seu shell de login. Veja como verificar:
$ [ -z $HISTFILE ] && echo need to set HISTFILE || ls -l $HISTFILE
-rw------- 1 root root 36639 May 21 19:48 /home/joeb/.bash_history
O padrão para HISTFILE deve ser ~ / .bash_history, se você vir o erro "precisa definir HISTFILE" ou se $ HISTFILE não for ~ / .bash_history, marque ~ / .profile ou ~ / .bash_profile ou ~ /. bashrc para garantir que não está sendo definido ou redefinido incorretamente.
Normalmente, ele pertence ao root, então redefina-o:
$ chown joeb.joeb $HISTFILE
$ ll $HISTFILE
-rw------- 1 joeb joeb 36639 May 21 19:48 /home/joeb/.bash_history
Logout e logon.
$ history
Deve mostrar o último conjunto de comandos digitados antes que o arquivo pertença à raiz, seguido pelos comandos digitados após a alteração da propriedade do arquivo.
shopt -s histappend
em/etc/bash/bashrc
. Ainda assim, qualquer saída imunda de conchas em execução perde seu histórico de linha de comando.