
Я разрабатываю приложение, которое хотел бы реализовать в стиле Unix.
Что мне следует запрограммировать, чтобы он делал в случае вызова без аргументов (что не имеет практического смысла):
- отобразить сообщение об ошибке
- отобразить справку или
- выйти молча, вернувшись,
0
приняв, что указанная задача (которая заключается в отсутствии действий) была успешно выполнена?
решение1
Это зависит от того, какие типы аргументов ожидает ваше приложение. Если оно обрабатывает файлы, традиционно считывает данные со стандартного ввода и записывает данные в стандартный вывод, если аргументы не указаны (пример: cat
, tee
, …). Если приложение имеет интерактивный режим, запускает его, если аргументы не указаны (пример: sh
, ed
). Если приложение ожидает объект для работы, показывает сообщение об ошибке и выходит с ненулевым статусом (пример: cp
, rm
). Если приложение ожидает команду, показывает сообщение об использовании и выходит с ненулевым статусом (пример: sed
, tar
).
решение2
Наиболее распространённые варианты:
отобразить краткую версию справки по приложению с пунктом «Чтобы просмотреть полную справку, введите app-name --help»;
отображение титров и лицензии;
«ошибка: операция не указана (используйте -h для получения справки)».