Каков «способ Unix» для CLI-приложения, чтобы сообщить об отсутствии указанных аргументов?

Каков «способ Unix» для CLI-приложения, чтобы сообщить об отсутствии указанных аргументов?

Я разрабатываю приложение, которое хотел бы реализовать в стиле Unix.

Что мне следует запрограммировать, чтобы он делал в случае вызова без аргументов (что не имеет практического смысла):

  • отобразить сообщение об ошибке
  • отобразить справку или
  • выйти молча, вернувшись, 0приняв, что указанная задача (которая заключается в отсутствии действий) была успешно выполнена?

решение1

Это зависит от того, какие типы аргументов ожидает ваше приложение. Если оно обрабатывает файлы, традиционно считывает данные со стандартного ввода и записывает данные в стандартный вывод, если аргументы не указаны (пример: cat, tee, …). Если приложение имеет интерактивный режим, запускает его, если аргументы не указаны (пример: sh, ed). Если приложение ожидает объект для работы, показывает сообщение об ошибке и выходит с ненулевым статусом (пример: cp, rm). Если приложение ожидает команду, показывает сообщение об использовании и выходит с ненулевым статусом (пример: sed, tar).

решение2

Наиболее распространённые варианты:

  • отобразить краткую версию справки по приложению с пунктом «Чтобы просмотреть полную справку, введите app-name --help»;

  • отображение титров и лицензии;

  • «ошибка: операция не указана (используйте -h для получения справки)».

Связанный контент