Bash hält nicht die Geschichte


19

Ich führe Ubuntu 12.04 aus und aus irgendeinem Grund speichert bash nicht meinen Befehlsverlauf. Die ~/.bash_historyDatei enthält nur 3 Befehle, die ich vor ein paar Monaten eingegeben habe.

Wie kann ich das beheben?

EDIT: hier ist der relevante Inhalt von meinem .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

Überprüfen Sie die Einstellungen Ihres Bash-Verlaufs in .bashrc.
jokerdino

@jokerdino thx, ich habe die Frage bearbeitet. Dies sind die Standardeinstellungen (ich habe sie nicht berührt).
Yohbs

Was ist die Ausgabe von "echo $ SHELL"?
Aaron

@ BryceAtNetwork23/bin/bash
yohbs

3
Eine andere Sache, die Sie versuchen sollten, ist die Überprüfung der Berechtigungen von~/.bash_history
reverendj1

Antworten:


24

Es könnte auch sein, dass root: root Ihre .bash_history besitzt ( ROOT SOLLTE NICHT DER BESITZER SEIN, IHR BENUTZER SOLLTE DER BESITZER SEIN! ), In diesem Fall müssen Sie:

$chown user:user .bash_history

Dies könnte anscheinend auf magische Weise passieren, wenn Sie viel sudo bash machen!


Wow, ich habe das komplett aufgegeben und es vergessen ... +1 und akzeptiere.
Yohbs

Ja, das passiert anscheinend, wenn du viel sudo bashst! :-)
mahatmanich

2

Angenommen, Sie verwenden gnome-terminal ?, überprüfen Sie in diesem Fall möglicherweise die Berechtigungen für .bash_history. Es sollte sein-rw-r--r--

Um dies in einem Terminal zu tun ls -la |grep .bash, sollten alle 3 Dateien die oben genannten Berechtigungen haben. Versuchen Sie andernfalls, .bash_history zu löschen, starten Sie neu und prüfen Sie, ob dann ein Verlauf geschrieben wird

Beachten Sie, dass der Verlauf nur geschrieben wird, wenn das Terminal geschlossen oder beendet wird.


1

Wie oben erwähnt, kann dies durch Änderungen der Root-> Benutzerrechte behoben werden. Die anfänglichen Berechtigungen können von -rw-r--r--oder von einer anderen Variation und Root-Eigentümerschaft stammen.

In meinem Fall hatte ich nur .bash_historyroot im Besitz, aber es ist alles von .bash_ *, was dem Benutzer gehören muss.


1
Ubuntu Willkommen zu fragen :) Dies ist eine 3 Jahre alt beantworteten Frage , und die Lösung bereits vorhanden in einer anderen Antwort erwähnt .. es einfach vote up :)
Sturm
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.