Bash-Befehlsverlauf funktioniert nicht

13

Der Befehlsverlauf zwischen den Sitzungen wird nicht gespeichert. Ich benutze Guake und die Geschichte für die Sitzung funktioniert gut.

Ich bemerkte, dass .bash_history einige Befehle hatte, die ich im sudo -s -Modus ausgeführt habe, und versuchte dasselbe erneut und alle Befehle während der Sitzung wurden gespeichert, also probierte ich chmod 777 .bash_history

Jetzt erscheinen die alten Befehle zu Beginn einer Sitzung, aber es werden keine neuen Befehle gespeichert

Danke im Voraus

    
v2r 19.03.2011, 15:01
quelle

4 Antworten

15

Die Befehle sind nicht sichtbar, da Bash den Verlauf nur in der .bash_history-Datei speichert, nachdem die Shell beendet wurde, was sehr selten mit Guake geschieht. Es gibt eine einfache Lösung , um Bash den Verlauf anzuhängen (statt überschreibt die Datei) nach jedem Befehl

shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
    
Adam Byrtek 20.03.2011 01:32
quelle
7

Ähnlich verhält es sich, wenn Sie einen Befehl sudo ausführen, bevor Sie eine .bash_history-Datei haben, da diese dann von root anstatt von Ihrem Benutzer erstellt wird.

    
khamer 29.03.2011 15:25
quelle
3

Siehe Link , um zu vermeiden, dass Verlaufszeilen verloren gehen, und eine Erläuterung der Nebenwirkungen, die dabei auftreten.

    
geirha 20.03.2011 02:59
quelle
2

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

#chown user:user .bash_history

Dies könnte passieren, wenn Sie sudo bash viel!

tun     
mahatmanich 10.07.2013 15:58
quelle

Tags und Links