Así que me he estado preguntando cómo ejecutar estas dos líneas de código cada vez que cierro una instancia abierta de Terminal:
history -c
cat /dev/null > ~/.bash_history
Estoy export HISTFILE=5
en el inicio, pero todavía quiero eliminar eso cuando haya terminado.
He intentado mirar un poco en un par de lugares , y no he tenido mucha suerte .
Ejecuto Linux Mint, y también notaría aquí que me encontré con un problema similar con .bash_profile
; finalmente, descubrí que necesitaba colocar todo el código de inicio .bashrc
, así que tal vez eso tenga algo que ver con eso. Aquí está mi .bash_logout
archivo:
#!/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
He intentado reorganizar este script de muchas maneras, no estoy seguro si no entiendo cómo funciona bash, y si algo de esto se está ejecutando en primer lugar. ¿El hecho de que ejecuto Xserver
hace que bash considere Terminal algo que no es un cierre de sesión al salir?
Sí dice que estoy no inscrito, lo cual tendría sentido:
$> shopt login_shell
login_shell off
shopt login_shell
dice
echo
comando al inicio, antes de que haga cualquier otra cosa que pueda interferir con laecho
ejecución. Un error puede hacer que el script salga antes de que llegue al final.