Eu executo o Ubuntu 12.04 e, por algum motivo, o bash não mantém meu histórico de comandos. o ~/.bash_history
arquivo contém apenas três comandos que eu digitei alguns meses atrás.
Como posso consertar isso?
EDIT:
aqui está o conteúdo relevante do meu .bashrc
:
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
.bashrc
./bin/bash
~/.bash_history
Respostas:
Também pode ser essa raiz: a raiz é dona do seu .bash_history (o ROOT NÃO DEVE SER O PROPRIETÁRIO, O SEU USUÁRIO DEVE SER O PROPRIETÁRIO! )
Aparentemente, isso pode acontecer magicamente quando você faz muito sudo bash!
fonte
Supondo que você esteja usando o gnome-terminal ??, se houver, talvez verifique as permissões em .bash_history. Deveria ser
-rw-r--r--
Para fazer isso em um terminal
ls -la |grep .bash
, todos os 3 arquivos devem ter as permissões acima. Caso contrário, tente excluir .bash_history, reinicie e veja se um histórico é gravadoObserve que o histórico é gravado apenas quando o terminal é fechado ou encerrado.
fonte
Como comentado acima, isso pode ser corrigido com alterações de propriedade do usuário root->. As permissões iniciais podem ser de
-rw-r--r--
ou qualquer outra variação e propriedade de raiz.No meu caso, eu possuía apenas o
.bash_history
root, mas é todo o .bash_ * que deve ser do usuário.fonte