Processos, parte 5: Códigos de retorno (return codes)

parte 1: Introdução
parte 2: Iniciando (launching) e matando (killing) processos
parte 3: Capturando saídas com Backtick, ` (crase)
parte 4: calculadora/comando bc
parte 5: Códigos de retorno (return codes)

Em *Unix, os comandos sempre retornam um valor, um código, que indica alguma informação sobre o funcionamente de tal comando.
O código 0, por exemplo, significa que o comando foi executado com sucesso. É um código universal no sistema.
Qualquer outro valor quer dizer que algo deu errado, variando de comando para comando o significado de cada código de erro.

A variável $? armazena o código de retorno do último processo executado.

Como foi dito no artigo sobre Pipelinas, podemos redirecionar a saída de um comando para '/dev/null' somente para checar se o comando foi executado com sucesso ou não. Iremos fazer um script usando isso, em relação ao comando 'ls'.
Crie o scripe 'return_codes':
----------
ls /usr/bin > /dev/null
echo "Código de retorno do último processo: $?"

#obviamente o diretório fubá (versão cearense do foobar) não existe
ls /fubá > /dev/null
echo "Código de retorno do último processo: $?"
----------

Execute e constate o esperado:
sh return_code

Esses 'return codes', são particularmente importantes quando usamos funções em nossos Shell scripts. Assunto que será abordado em um próximo artigo.

Nenhum comentário: