Normalmente, se você concluir seu script em algum momento com:
exit 0
O shell receberá um 0 como o código de retorno . Este zero significa tudo estava bem .
No entanto, se o seu programa encontrou alguma condição de erro, você deve sair com um código de retorno diferente de zero, para informar ao shell que algo deu errado. Se você não quer ser mais específico, você pode simplesmente usar 1.
exit 1
No entanto, você pode informar o shell de um tipo específico de falhas usando outros números. Por exemplo, bash
em si retorna 127 para programa não encontrado . Portanto, se você documentar o comportamento do seu script, poderá fazer algo útil depois de executá-lo, verificando o valor da variável especial $?
, que contém o código de retorno do último programa executado.
Eu olhei para isto um tempo atrás e descobri que, por exemplo, o FreeBDS tinha algumas convenções muito úteis com relação a códigos de saída, documentadas em man 3 sysexits