bash nie przechowuje historii


19

Używam Ubuntu 12.04 iz jakiegoś powodu bash nie przechowuje mojej historii poleceń. ~/.bash_historyplik zawiera tylko 3 komend że Wpisałem kilka miesięcy temu.

Jak mogę to naprawić?

EDYCJA: oto odpowiednia treść mojego .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

Sprawdź ustawienia historii bash w .bashrc.
jokerdino

@ jokerdino thx, zredagowałem pytanie. To standardowe ustawienia (ich nie dotknąłem).
yohbs

Jaka jest wydajność „echo $ SHELL”?
Aaron

@ BryceAtNetwork23/bin/bash
yohbs

3
Inną rzeczą do wypróbowania jest sprawdzenie uprawnień~/.bash_history
reverendj1

Odpowiedzi:


24

Może to być także ten root: root jest właścicielem twojej .bash_history ( ROOT NIE POWINIEN BYĆ WŁAŚCICIELEM, TWÓJ UŻYTKOWNIK POWINIEN BYĆ WŁAŚCICIELEM! ), W takim przypadku musisz:

$chown user:user .bash_history

To najwyraźniej może się zdarzyć magicznie, kiedy często grasz w sudo!


Wow, całkowicie się poddałem i zapomniałem o tym ... +1 i akceptuję.
yohbs

Tak, to najwyraźniej dzieje się, kiedy dużo ćwiczysz sudo! :-)
mahatmanich

2

Zakładając, że używasz gnome-terminal ??, jeśli tak, sprawdź uprawnienia w .bash_history. Powinno być-rw-r--r--

Aby to zrobić w terminalu ls -la |grep .bash, wszystkie 3 pliki powinny mieć powyższe uprawnienia. W przeciwnym razie spróbuj usunąć .bash_history, uruchom ponownie i sprawdź, czy następnie zostanie zapisana historia

Pamiętaj, że historia jest zapisywana dopiero po zamknięciu lub zamknięciu terminala.


1

Jak wspomniano powyżej, można to naprawić za pomocą zmian własności użytkownika root->. Początkowe uprawnienia mogą pochodzić z -rw-r--r--dowolnej innej odmiany i własności root.

W moim przypadku miałem tylko .bash_historyroota, ale to wszystko .bash_ * musi być własnością użytkownika.


1
Witaj, zadaj pytanie ubuntu :) To jest 3-letnie pytanie, na które odpowiedziałeś, a rozwiązanie, o którym wspomniałeś, istnieje już w innej odpowiedzi .. po prostu zagłosuj :)
burza
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.