Os shells podem ser aninhados: um terminal gráfico inicia um shell, uma conexão SSH inicia um shell remoto e um shell pode iniciar outro shell. Sair de um deles normalmente devolve o controle ao processo que iniciou o shell atual.
Linha de Comando · Lição 19
exit
Aprenda a sair do shell atual e escolher o status que ele devolve ao processo chamador.
Saída do Shell Atual
O comando exit solicita que o shell atual seja encerrado:
$ exit
Se esse shell for o processo principal de uma aba do terminal gráfico, a aba poderá ser fechada de acordo com as configurações do terminal. Em uma sessão SSH, sair do shell remoto normalmente leva você de volta ao shell local. Se você iniciou um shell aninhado, exit retorna ao shell pai.
Você iniciou o Bash dentro de outro shell e agora quer retornar ao shell pai. Qual comando deve executar na sessão aninhada do Bash?
Retorno de um Status de Saída
Um argumento numérico opcional define o status devolvido ao processo chamador do shell:
$ exit 0
Por convenção, 0 significa sucesso, e um valor diferente de zero representa falha ou outra condição definida pelo programa. Se o Bash não receber um argumento numérico, ele sairá com o status do último comando executado antes de exit.
Qual comando encerra o shell atual e informa explicitamente sucesso ao processo chamador?
No Bash, qual status exit devolve quando você não fornece um número?
Uso de logout em um Shell de Login
O comando interno logout do Bash encerra um shell de login:
$ logout
Em um shell do Bash que não seja de login, logout informa que ele não é um shell de login; nesse caso, use exit.
Qual comando interno do Bash se destina especificamente a sair de um shell de login?
Uso de Ctrl+D ou Fechamento de um Terminal
Em um prompt interativo vazio, pressionar Ctrl+D normalmente fornece o caractere de fim de arquivo do terminal. O Bash costuma interpretar essa condição como uma solicitação para sair. Isso não é um sinal, e configurações do shell como ignoreeof do Bash podem alterar o comportamento.
Fechar uma janela de terminal gráfico solicita que o aplicativo encerre seus processos e pode afetar tarefas em execução. Quando for possível, prefira uma saída organizada com exit e verifique se há trabalhos ativos antes de fechar a sessão.
Lição concluída
Você concluiu exit
Agora você sabe sair do shell atual e comunicar seu status de conclusão.
Use
exitpara retornar ao processo chamador do shell atual.Forneça
0para sucesso ou um status definido diferente de zero nos outros casos.Entenda qual status é usado por
exitsem argumento.Use
logoutapenas em um shell de login.Reconheça
Ctrl+Dcomo entrada de fim de arquivo, não como sinal.
Salve seu progresso
Crie uma conta gratuita para salvar esta lição e continuar em qualquer dispositivo.
Criar uma conta gratuita