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=5beim 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 .bashrcmusste. Vielleicht hat das etwas damit zu tun. Hier ist meine .bash_logoutDatei:
#!/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. XserverBetrachtet 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_shellsagt das aus?
echoBefehl am Anfang zu setzen, bevor er etwas anderes ausführt, dasechodie Ausführung beeinträchtigen könnte . Ein Fehler kann dazu führen, dass das Skript beendet wird, bevor es das Ende erreicht.