Каковы стандартные возвращаемые значения для приложения командной строки?

StackOverflow https://stackoverflow.com/questions/2295673

Вопрос

Я знаю, что приложение командной строки должно возвращать 0 в случае успеха.Но существуют ли какие-либо «стандарты» для других ценностей?напримерНеверные аргументы и т. д.

Есть ли различия в Windows и Unix?

Это было полезно?

Решение

Стандартный набор кодов ошибок и соответствующие им сообщения присутствуют в errno.h.С этим можно сравнить возвращаемые значения системных вызовов.Если вы пишете свою собственную программу, то возвращаемое значение может быть таким, каким вы хотите.Обработка возвращаемых значений будет полностью зависеть от вас.

Другие советы

Вы правы, возврат 0 обычно означает успех, а любое другое значение — ошибку.

Я не думаю, что есть какие-то «стандарты» для других ценностей.По крайней мере, он широко не используется.Обычный способ — вывести сообщение об ошибке в стандартный вывод ошибок и вернуть уникальный идентификатор ошибки для каждого типа ошибки.Затем вы можете задокументировать коды ошибок на странице руководства или в другом документе.

Windows, похоже, использует тот же метод.например,

  • mkdir верните 1 и напечатайте ~ «неправильный синтаксис»
  • mkdir C:\alreay\existing\directory верните также 1 и напечатайте ~ «каталог или файл уже существует»

примечание:сообщение не точное (перевод с французского)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top