it-swarm.com.de

Bash-Befehlsverlauf funktioniert nicht

Der Befehlsverlauf zwischen Sitzungen wird nicht gespeichert. Ich benutze Guake und der Verlauf der Sitzung funktioniert einwandfrei.

Mir ist aufgefallen, dass . Bash_history einige Befehle hatte, die ich im Sudo -s -Modus ausgeführt und erneut ausprobiert habe, und dass alle Befehle während der Sitzung gespeichert wurden, also habe ich versucht, chmod 777 .bash_history

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

Vielen Dank im Voraus

13
user12663

Die Befehle sind nicht sichtbar, da Bash den Verlauf erst nach dem Beenden der Shell in der Datei .bash_history speichert, was bei Guake sehr selten vorkommt. Es gibt eine einfache Umgehung damit Bash den Verlauf nach jedem Befehl anhängt (anstatt die Datei zu überschreiben)

shopt -s histappend
Prompt_COMMAND="history -a;$Prompt_COMMAND"
15
Adam Byrtek

In Verbindung steht, dass dies normalerweise nicht funktioniert, wenn Sie einen Sudo-Befehl ausführen, bevor Sie eine .bash_history-Datei haben, da diese dann im Besitz von root anstelle Ihres Benutzers erstellt wird.

8
khamer

In http://mywiki.wooledge.org/BashFAQ/088 erfahren Sie, wie Sie vermeiden, dass Verlaufslinien verloren gehen, und erläutern Sie die Nebenwirkungen.

3
geirha

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 passieren, wenn Sie Sudo bash viel tun!

2
mahatmanich