Zastanawiałem się więc, jak uruchomić te dwa wiersze kodu za każdym razem, gdy zamykam otwartą instancję Terminala:
history -c
cat /dev/null > ~/.bash_history
Jestem export HISTFILE=5
przy starcie, ale nadal chcę to wypłukać, kiedy skończę.
Próbowałem rozejrzeć się trochę w kilku miejscach i nie miałem szczęścia .
Korzystam z Linux Mint i tutaj też zauważam, że napotkałem podobny problem z .bash_profile
; w końcu odkryłem, że muszę umieścić cały kod startowy .bashrc
, więc może to ma coś z tym wspólnego. Oto mój .bash_logout
plik:
#!/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
Próbowałem zmienić aranżację tego skryptu na wiele sposobów, nie jestem pewien, czy nie rozumiem, jak działa bash i czy którykolwiek z nich działa w pierwszej kolejności. Czy fakt, że uruchamiam Xserver
make bash, uważa Terminal za coś, co nie jest wylogowaniem przy wyjściu?
To nie znaczy, że jestem nie zalogowany, który ma sensu:
$> shopt login_shell
login_shell off
shopt login_shell
mówi
echo
polecenia na początku, zanim zrobi cokolwiek innego, co mogłoby zakłócićecho
uruchamianie. Błąd może spowodować, że skrypt zakończy działanie, zanim dotrze do końca.