bash não mantém história


19

Eu executo o Ubuntu 12.04 e, por algum motivo, o bash não mantém meu histórico de comandos. o ~/.bash_historyarquivo 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

Verifique suas configurações do histórico do bash em .bashrc.
jokerdino

@jokerdino thx, editei a pergunta. São as configurações padrão (eu não as toquei).
yohbs

Qual é o resultado de "echo $ SHELL"?
Aaron

@ BryceAtNetwork23/bin/bash
yohbs

3
Outra coisa a tentar é verificar as permissões de~/.bash_history
reverendj1

Respostas:


24

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! )

$chown user:user .bash_history

Aparentemente, isso pode acontecer magicamente quando você faz muito sudo bash!


Uau, eu desisti completamente disso e esqueci ... +1 e aceite.
yohbs 17/05

Sim, aparentemente isso acontece quando você faz muito sudo bash! :-)
mahatmanich

2

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 é gravado

Observe que o histórico é gravado apenas quando o terminal é fechado ou encerrado.


1

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_historyroot, mas é todo o .bash_ * que deve ser do usuário.


1
Bem-vindo ao perguntar ubuntu :) Este é um 3 anos de idade pergunta respondida e a solução que você já mencionado existe em outra resposta .. apenas votar it up :)
tempestade
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.