A pergunta " Qual é o propósito do .bashrc e como ele funciona? " buscou o propósito e o uso do .bashrc
. Outro arquivo com um nome semelhante é .bash_logout
.
Esse arquivo deveria existir em primeiro lugar? Em caso afirmativo, qual é a função desse arquivo?
De
man bash
:O
.bash_logout
arquivo não precisa existir.Seu conteúdo é obtido
bash
quando umbash
shell de login é encerrado. O arquivo permite fazer, por exemplo, várias formas de limpeza ao sair de uma sessão de terminal.Ele pode ser usado para executar qualquer código shell, mas pode ser usado, por exemplo, para limpar a tela se os logins forem feitos em um ambiente não-GUI. Alguns também podem achá-lo útil para encerrar explicitamente programas que foram iniciados em
.bash_login
ou.bash_profile
(se, por exemplo,fetchmail
ou algum processo semelhante for iniciado como um daemon de usuário ou em segundo plano, pode ser bom finalizá-lo em.bash_logout
).O
csh
shell tem um arquivo semelhante chamado.logout
e o arquivo correspondente para ozsh
shell é chamado.zlogout
. Oksh
shell não tem, que eu saiba, nenhuma funcionalidade semelhante.Veja também a questão relacionada tangencialmente Diferença entre o shell de login e o shell sem login?
Como esta pergunta solicita detalhes do arquivo .bash_logout, seria bom listar vários arquivos semelhantes. Geralmente temos esses 6 arquivos para vários propósitos-
Em alguns casos, você também pode encontrar o arquivo .bash_history, que armazena os comandos que o usuário executou.
Supondo que você conheça os arquivos .bashrc e .bash_login, vamos nos concentrar na sequência de execução desses arquivos e, em seguida, veremos o propósito do arquivo .bash_logout.
Primeiramente quando o usuário logar e se o arquivo .bash_profile estiver disponível, ele será executado independentemente da existência do arquivo .bash_login ou .profile.
Se esse arquivo não estiver disponível, primeiro o arquivo .bash_login será executado e, se este arquivo também não estiver disponível, o arquivo .profile será executado.
Observe que o arquivo .bash_profile é lido e todos os comandos nesse arquivo são executados quando o usuário efetua login, mas esse arquivo não é lido quando o usuário inicia um novo shell. Se o usuário iniciar um novo shell, o arquivo .bashrc será lido, do qual você está bastante ciente.
Comimg para o arquivo .bash_logout, fica bem claro pelo nome que este arquivo é executado quando o usuário faz logout. Como se pode concordar, o objetivo principal do bash é fornecer um ambiente que facilite o trabalho do usuário. Portanto, este arquivo ajuda na criação de um ambiente que pode ajudar a executar alguns comandos quando o usuário faz logout. Pode haver uma infinidade de instâncias. Para ilustração, vamos supor que o administrador deseja eliminar todos os processos iniciados por esse usuário quando o usuário fizer logout. Ou o usuário pode querer limpar o arquivo .mysql_history. Ele/ela pode querer copiar alguns arquivos ou fazer um backup durante o logout. Então você vê, pode haver muitas instâncias.
Vamos supor que o usuário queira fazer um arquivo de backup do diretório /etc toda vez que ele fizer logout. Então ele pode abrir o arquivo .bash_logout e digitar este comando -