Daher habe ich mich gefragt, wie diese beiden Codezeilen jedes Mal ausgeführt werden sollen, wenn ich eine offene Instanz von Terminal schließe:
history -c
cat /dev/null > ~/.bash_history
Ich bin export HISTFILE=5
beim Start, möchte das aber trotzdem ausspülen, wenn ich fertig bin.
Ich habe versucht , mich an einigen Stellen ein bisschen umzusehen , und hatte nicht viel Glück .
Ich verwende Linux Mint und möchte hier auch darauf hinweisen, dass ich auf ein ähnliches Problem mit gestoßen bin .bash_profile
. Schließlich stellte ich fest, dass ich den gesamten Startcode einfügen .bashrc
musste. Vielleicht hat das etwas damit zu tun. Hier ist meine .bash_logout
Datei:
#!/bin/bash
# ~/.bash_logout: executed by bash(1) when login shell exits.
#this does nothing on exit...
echo 'logout'; sleep 2s
# when leaving the console clear the screen to increase privacy
if [ "$SHLVL" = 1 ]; then
history -c
cat /dev/null > ~/.bash_history
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi
Ich habe versucht, dieses Skript auf viele Arten neu anzuordnen. Ich bin mir nicht sicher, ob ich nicht verstehe, wie Bash funktioniert, und ob irgendetwas davon überhaupt ausgeführt wird. Xserver
Betrachtet die Tatsache, dass ich Bash ausführe , Terminal als etwas, das sich beim Beenden nicht abmeldet?
Es heißt, dass ich nicht eingeloggt bin , was Sinn machen würde:
$> shopt login_shell
login_shell off
shopt login_shell
sagt das aus?
echo
Befehl am Anfang zu setzen, bevor er etwas anderes ausführt, dasecho
die Ausführung beeinträchtigen könnte . Ein Fehler kann dazu führen, dass das Skript beendet wird, bevor es das Ende erreicht.