Programação BASH

Código de saída Bash do último comando

Código de saída Bash do último comando
Quando um comando bash é executado, ele deixa para trás o código de saída, independentemente da execução bem-sucedida ou malsucedida. Examinar o código de saída pode oferecer uma visão útil sobre o comportamento do comando de última execução.

Neste guia, verifique como verificar o código de saída do bash do último comando e alguns usos possíveis dele.

Código de saída Bash

Cada comando UNIX / Linux executado pelo script de shell ou usuário deixa um status de saída. É um número inteiro que permanece inalterado a menos que o próximo comando seja executado. Se o código de saída for 0, o comando foi bem-sucedido. Se o código de saída for diferente de zero (1-255), significa um erro.

Existem muitos usos potenciais do código de saída do bash. O mais óbvio é, claro, verificar se o último comando foi executado corretamente, especialmente se o comando não gerar nenhuma saída.

No caso do bash, o código de saída do comando anterior pode ser acessado usando a variável shell “$?”.

Verificando o código de saída do Bash

Inicie um terminal e execute qualquer comando.

$ data

Verifique o valor da variável shell “$?”Para o código de saída.

$ echo $?

Como o comando “date” foi executado com sucesso, o código de saída é 0. O que aconteceria se houvesse um erro?

Vamos tentar executar um comando que não existe.

$ abcd

Verifique o código de saída.

$ echo $?

É um valor diferente de zero, indicando que o comando anterior não foi executado corretamente.

Agora, dê uma olhada no seguinte comando:

amostra de $ cat.txt | grep “moeda”

Ao trabalhar com um comando que possui um ou mais tubos, o código de saída será do último código executado no tubo. Neste caso, é o comando grep.

Como o comando grep foi bem sucedido, será 0.

$ echo $?

Neste exemplo, se o comando grep falhar, o código de saída será diferente de zero.

amostra de $ cat.txt | grep “abcd”
$ echo $?

Incorporando Código de Saída em Scripts

O código de saída também pode ser usado para scripts. Uma maneira simples de usá-lo é atribuí-lo a uma variável de shell e trabalhar com ele. Aqui está um exemplo de script de shell que usa o código de saída como uma condição para imprimir uma saída específica.

$ #!/ bin / bash
$ echo "olá mundo"
$ status = $?
$ [$ status -eq 0] && echo "comando bem-sucedido" || echo "comando sem sucesso"

Ao ser executado, o script irá gerar a seguinte saída.

Agora, vamos ver o que acontece quando há um comando inválido para executar.

$ #!/ bin / bash
$ random-command
$ status = $?
$ [$ status -eq 0] && echo "comando bem-sucedido" || echo "comando sem sucesso"

Ao ser executado, a saída será diferente.

Explicação do valor do código de saída

Quando o código de saída é diferente de zero, o valor varia de 1 a 255. Agora, o que esse valor significa?

Embora o valor seja limitado, a explicação de cada valor é única para o programa / script. Por exemplo, “ls” e “grep” têm diferentes explicações para os códigos de erro 1 e 2.

$ man ls

$ man grep

Definindo o Status de Saída no Script

Ao escrever um script, podemos definir valores de código de saída personalizados. É um método útil para depuração mais fácil. Em scripts bash, é o comando “exit” seguido pelo valor do código de saída.

$ exit

De acordo com a convenção, é recomendado atribuir o código de saída 0 para uma execução bem-sucedida e usar o restante (1-255) para possíveis erros. Ao atingir o comando de saída, a execução do shell script será encerrada, portanto, tome cuidado com sua colocação.

Dê uma olhada no seguinte script de shell. Aqui, se a condição for atendida, o script será encerrado com o código de saída 0. Se a condição não for atendida, o código de saída será 1.

$ #!/ bin / bash
$ if [["$ (whoami)" != root]]; então
$ echo "Não usuário root."
$ saída 1
$ fi
$ echo "usuário root"
$ exit 0

Verifique o resultado da execução deste script sem privilégio sudo ou usuário “root”.

$ ./amostra.sh
$ echo $?

Pensamentos finais

Este guia demonstra o que são os códigos de saída e como você pode usá-los. Também demonstra como atribuir códigos de saída apropriados em um script bash.

Interessado em script bash? Uma das maneiras mais fáceis de começar é escrevendo seus próprios scripts. Confira este guia simples sobre como escrever um script bash simples.

Computação feliz!

Como desenvolver um jogo no Linux
Uma década atrás, poucos usuários de Linux preveriam que seu sistema operacional favorito um dia seria uma plataforma de jogos popular para videogames...
Portas de código aberto para motores de jogos comerciais
Recriações gratuitas, de código aberto e de mecanismo de jogo de plataforma cruzada podem ser usadas para jogar jogos antigos, bem como alguns dos tít...
Melhores jogos de linha de comando para Linux
A linha de comando não é apenas sua maior aliada ao usar o Linux - ela também pode ser uma fonte de entretenimento porque você pode usá-la para jogar ...