Comando de saída no Linux

Comando de saída no Linux
No Linux, o comando de saída é usado para encerrar o shell (a sessão de login atual) na qual é executada. Além disso, semelhante a um programa C, o comando de saída é usado em scripts de shell para encerrar o script. Além disso, ele retorna um valor ao processo pai do roteiro.

O que vamos cobrir?

Neste guia, veremos uma visão geral do comando de saída no Linux com alguns casos de uso.

O comando de saída e o status de saída

Você também pode usar o comando de saída para especificar o status de saída do shell. O status de saída é um valor numérico que é devolvido ao processo pai quando o shell termina.

O status de saída pode ser usado para indicar o sucesso ou falha do comando. Por exemplo, um script de shell pode usar o status de saída para determinar se deve executar determinadas ações com base no sucesso ou falha de um comando.

Para especificar o status de saída, você pode usar o comando de saída seguido por um número. Por exemplo, a saída 0 indica uma saída bem -sucedida, enquanto a saída 1 indica uma falha.

O comando de saída aceita um único argumento opcional que se torna o status de saída do script.

Quando nenhum argumento é aprovado, o status de saída é padronizado para o status de saída do último comando que é executado. Para ver o status de saída, use o eco “$?” comando.

Exemplos de códigos de saída (status de saída)

O comando de saída é crucial para indicar que ocorreu um erro grave, pois os processos de chamada normalmente consideram os códigos de saída que não sejam zero como casos de falha. Se você precisar de uma armadilha de erro geral em seus scripts, tente usar o snippet de código de saída.

Vamos ver alguns exemplos de usar o código de saída em um script e em um terminal:

Exemplo 1: Usando o comando de saída com expressão de arquivo

Vamos primeiro dar um exemplo de script:

#!/BIN/BASH
# arquivo de teste: avaliar o status de um arquivo
Arquivo =/Proc/Uptime
se [-e "$ file"]; então # verifique a existência do arquivo.
se [-f "$ file"]; então # verifique se é um arquivo regular.
eco "$ arquivo é um arquivo regular."
fi
se [-b "$ file"]; Então # verifica se é um arquivo de bloco
eco "$ arquivo é um dispositivo de bloco"
fi
outro
eco "o arquivo $ não é um arquivo regular nem um bloco ou pode não existir"
saída 1
fi
saída

O script executa uma avaliação no arquivo que é alocado para a constante "ARQUIVO" e produz os resultados à medida que ele é executado.

Primeiro, ele verifica se é um arquivo regular ou um arquivo de bloco. Se a condição não estiver satisfeita, ele imprime a mensagem no bloco else.

O primeiro comando de saída define o status de saída do script em caso de falha (valor de saída como 1). O segundo comando de saída é uma expressão formal. Isso significa que, quando o script completa sua execução até o fim, ele tem o status de saída do último comando que, neste caso, é o comando de saída. Este último comando de saída resultará em sucesso (valor de saída como 0):

Exemplo 2: Usando comandos verdadeiros e falsos com o comando de saída

Além disso, inserir um argumento verdadeiro ou falso simples faz com que o terminal saia com o código de status 0 e mostra 0 como verdadeiro. Se fornecermos uma declaração falsa, o status de saída será 1, já que as saídas falsas com o Código 1. Vamos ver isso de maneira prática. Primeiro, emita o comando verdadeiro e verifique o status de saída:

$ verdadeiro
$ echo $?

Agora, emita o comando falso e verifique novamente o status de saída:

$ false
$ echo $?

Exemplo 3: Interrompendo um script com Ctrl+C

Quando um usuário atinge o Control-C, um sinal especial conhecido como SIGINT é enviado. Isso interrompe o script ou o programa em execução, fazendo com que ele saia com o código 130. Vamos dar um exemplo: suponha que você tenha começado a pesquisar um arquivo com o comando find:

$ find / -epty

A pesquisa ainda está acontecendo. Então, de repente você interrompeu com "Ctrl+C". Isso faz com que o comando pare com o código de saída 130.

Exemplo 4: a variável da shell Shlvl e o comando de saída

Com a variável específica da concha, shlvl, você pode ver quantos níveis profundamente no shell você está. Cada nova sessão de shell que é aberta em um terminal aumenta a contagem de sessões, começando em 1 para a sessão inicial. Se Shlvl é> 1, o comando de saída fecha a sessão atual. Da mesma maneira, se o Shlvl Is = 1, o comando de saída o retira do sistema.

Para simplesmente colocá -lo, quando você digita "Sair" no prompt de comando e pressionar Enter, o shell fecha (feche a sessão de login atual) e você será devolvido ao shell ou prompt de comando do qual o lançou.

Conclusão

Vimos os diferentes casos de uso do comando de saída e a interpretação do status de saída em cada caso. Existem muitos números diferentes de código de saída para diferentes fins. Observe que esses códigos de saída são específicos. Se você tende a usar outras conchas, como C-shell ou TCSH, Os resultados podem diferir.