Quais são os valores de retorno padrão para um aplicativo de linha de comando?
-
21-09-2019 - |
Pergunta
Eu sei que um aplicativo de linha de comando deve retornar 0 no sucesso. Mas existem "padrões" para o que outros valores se referem? por exemplo, argumentos inválidos, etc.
Existem diferenças no Windows e Unix?
Solução
Um conjunto padrão de códigos de erro e suas mensagens correspondentes estão presentes no errno.h. Os valores de retorno de chamadas do sistema podem ser comparados com isso. Se você está escrevendo seu programa personalizado, o valor de retorno pode ser o que você deseja que seja. Lidar com os valores de retorno dependerá inteiramente de você.
Outras dicas
Você está certo, um retorno de 0 geralmente significa sucesso e qualquer outro valor um erro.
Eu não acho que exista "padrões" para outros valores. Pelo menos não é amplamente utilizado. A maneira usual é imprimir a mensagem de erro na saída de erro padrão e retornar um identificador de erro exclusivo para cada tipo de erro. Em seguida, você pode documentar os códigos de erro na página ou outro documentação do documento.
O Windows parece usar o mesmo método. por exemplo,
mkdir
retornar 1 e imprimir ~ 'sintaxe incorreta'mkdir C:\alreay\existing\directory
retornar também 1 e imprimir ~ 'Direcotry ou arquivo já existe'
Nota: A mensagem não é exata (traduzida do francês)