Kann .bash_logout geändert werden?

420
Dhrumit Patel

Ich versuche, .bash_logout so zu ändern, dass der Shell-Verlauf an eine TXT-Datei angehängt wird. Ich versuche auch herauszufinden, welche Einschränkungen diese Datei hat. Ich habe eine Reihe von Befehlen ausprobiert, als ich darüber bei Google gesucht habe, aber nichts scheint zu funktionieren. Gibt es eine Möglichkeit, dies zu tun?

Hier sind einige Befehle, die ich ausprobiert habe.

# avoid duplicates.. export HISTCONTROL=ignoredups:erasedups  # append history entries.. shopt -s histappend  # After each command, save and reload history export PROMPT_COMMAND="$history -a; history -c; history -r" 

Auch versucht:

export HISTCONTROL=ignoredups:erasedups # no duplicate entries export HISTSIZE=100000 # big big history export HISTFILESIZE=100000 # big big history shopt -s histappend # append to history, don't overwrite it  # Save and reload the history after each command finishes export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND" 
0
Ja, es gibt einen möglichen Weg, aber können Sie bitte hinzufügen, was Sie bereits versucht haben? "Eine Reihe von Befehlen" ist nicht sehr spezifisch. Siehe auch: http://superuser.com/help/how-to-ask mtak vor 9 Jahren 0
Es sind eigentlich die Befehle, von denen ich denke, dass sie mir helfen könnten, aber fast nichts getan haben (oder denke ich). Möchten Sie sie trotzdem sehen? Dhrumit Patel vor 9 Jahren 0
Wie in dem Link angegeben, den ich gerade gepostet habe: Das Teilen Ihrer Forschung hilft allen. Sagen Sie uns, was Sie gefunden haben und warum es nicht Ihren Bedürfnissen entspricht. Dies zeigt, dass Sie sich die Zeit genommen haben, sich selbst zu helfen, es erspart uns, offensichtliche Antworten zu wiederholen, und vor allem hilft es Ihnen, eine spezifischere und relevantere Antwort zu erhalten! mtak vor 9 Jahren 1
Verstanden. Ich werde meine Frage in einer Minute bearbeiten. Dhrumit Patel vor 9 Jahren 0
Siehe http://superuser.com/questions/410525/explain-why-bash-logout-wont-run-commands Digital Chris vor 9 Jahren 0
`.bash_logout` wird nur ausgeführt, wenn` shopt login_shell` wahr ist. Digital Chris vor 9 Jahren 0

1 Antwort auf die Frage

0
Brett Holman

Sie können dazu Fallen verwenden.

Fügen Sie zum Beispiel etwas in Ihr .bash_profile ein:

function save_history { ~/.bash_history >> ~/mybackup_history.txt } trap save_history EXIT 

Links zu zusätzlichen Ressourcen zu Fallen

Einige Hintergrundinformationen zu trapAussagen

Ein Blogbeitrag mit vielen trapBeispielen

Ein Kapitel zu Fallen aus einem Bash-Skripthandbuch

Eine Unix- und Linux-Stack-Austauschfrage zu Fallen