O comando exit é um comando especial embutido em shells. Ele precisa estar embutido, já que precisa sair do processo de shell.
Ele sai do shell com o status de saída fornecido, se algum ou aquele do último comando, de outra forma.
Ao sair, o shell executará os EXIT traps, se houver algum. Veja a saída de trap (em shells do tipo Bourne) para os atualmente configurados.
Com muitos shells, se o shell foi invocado como um shell de login (alguns sistemas / usuários configuram emuladores de terminal para iniciar um shell de login), ele também executará o código armazenado em arquivos especiais como ~/.logout , ~/.zlogout , ~/.bash_logout e possivelmente os correspondentes em /etc dependendo do shell.
Você pode fazer um set -x antes de chamar exit para ter uma ideia de onde esses comandos estão sendo executados.