O Bash executará os comandos em .bash_logout
apenas se o shell for um shell de login.
# .bash_logout will print "hi"
$ cat .bash_logout
echo hi
# Start a new shell that is not a login shell
$ bash
$ shopt login_shell
login_shell off
# On exit, it will not print "hi"
$ exit
exit
# Start a login shell
$ bash -l
$ shopt login_shell
login_shell on
# On exit it will execute .bash_logout, and will print "hi"
$ exit
logout
hi
Veja esta resposta em superuser.com para mais detalhes, juntamente com uma solução alternativa para o problema que você está tentando resolver .