myapp/?
myapp -help
myapp -ver
и т.д....
myapp/?
myapp -help
myapp -ver
и т.д....
Стандарты кодирования GNU мандат --version
и --help
, и я ожидал, что любая программа CLI будет поддерживать их. Помимо этого, это действительно зависит от того, что представляет собой программа, но здесь есть несколько других предложений: -q
или --quiet
для меньшего вывода, -v
или --verbose
для большего вывода, -d
или --debug
для отладочный вывод.
Это зависит от платформы.
В Windows,/? или /h или/help являются общими.
В Unix команда должна иметь man-страницу.
В вариантах Unix, в которых соблюдаются соглашения Gnu (например, Linux), он должен отвечать на -help and -version. Более того, он может интегрироваться с bash автозаполнением.
Кроме того, посмотрите на другие программы в той же области, что и ваша, и используйте те же варианты, где это имеет смысл. Например:.
Если ваша программа принимает имена файлов в качестве аргументов, то общее соглашение - это один дефис, означающий "читать из stdin" и двойной дефис, чтобы означать "рассматривать следующий аргумент как файл, даже если он начинается с дефиса".
Короткий и длинный вариант аргументов командной строки. Проверьте, есть ли библиотечный порт getopt
для используемого вами языка программирования. Это поможет вам в анализе аргументов командной строки.
--config-file=FILE | -C FILE
--help | -h
--usage | -u
--version | -v
Включите другие соответствующие параметры для вашего приложения.
Я согласен со всеми приведенными выше аргументами, но хотел бы отметить еще одно: вы можете захотеть, чтобы ваше приложение принимало длинные, короткие и BSD-типы для всех аргументов. Конечно, стиль BSD можно было бы омрачить, если вы почувствуете, что никому из ваших пользователей не будет удобно его использовать. Длинный стиль помогает добавить смысл в аргументы и облегчает их запоминание при запуске приложения.
Я бы предложил установить параметры справки, версии, вывода. Другие переключатели зависят от вашего приложения.
-h является обязательным условием на * nix. Я бы сказал то же самое для /? в Windows, но программы, доступные для обеих платформ, обычно идут в стиле * nix. Вероятно, из-за getopt и друзей.
Некоторые вещи:
-h, --help
-v, --version
-u, --usage
Если приложение полностью изменяет любые файлы:
--dry-run Do not modify any files (but work as if you did)
Если приложение использует файлы конфигурации, параметры для использования указанного файла конфигурации или каталога.
Некоторые основные операционные переключатели запускаются неинтерактивно и выполняют задание:
mysql --execute="SELECT * FROM ..."
cmd.exe /C "dir"
Эрик С. Раймонд дает отличный обзор наиболее распространенных параметров командной строки UNIX в своей великолепной книге "Искусство программирования Unix" . В основном речь идет об однобуквенных вариантах, но, тем не менее, это отличный ресурс.