O arquivo ~/bash_logout
é somente originado quando você sai do shell de login (de man bash
):
When an interactive login shell exits, or a non-interactive login shell executes the exit builtin command, bash reads and executes commands from the file ~/.bash_logout, if it exists.
Quando você abre um terminal, está executando um shell interativo de não-login, portanto, ~/bash_logout
não é relevante. Para mais informações sobre os diferentes tipos de shell, veja minha resposta aqui .
Para que algo seja executado toda vez que você fechar o terminal, você pode usar trap
para definir um comando para ser executado toda vez que uma sessão bash interativa sair. Para fazer isso, adicione esta linha ao seu ~/.bashrc
:
trap /home/user/Documents/logout_msg.sh EXIT
É claro que, se esse script estiver imprimindo uma mensagem para o terminal, você precisará certificar-se de que seu logout_msg.sh
inclua um comando sleep
para que o usuário tenha tempo de ler a mensagem. Algo como:
echo "Whatever message you want"
sleep 10 ## wait for 10 seconds