2017-02-12 19 views
1

Я только заметил, что рисунок (в мерзавца и LIB CommandLineParser для .NET) для аргументов команды глаголом стиле, и интересно, если кто-то может подтвердить:Условные обозначения для аргументов глагола командной строки -a против --arg

myprog dothis -a "someArg"

  • -a
  • --arg

в чем разница между одиночным тире-прив ix и двойной штрих-префикс? Всегда ли одиночный префикс штриховки для однобуквенного спецификатора аргументов, где префикс двойной черты всегда для «длинного имени» аргумента?

Существует ли формальное соглашение где-то, что управляет этим, или это общепринятая неформальная практика? (или я просто ничего не делаю?)

Просто любопытно ... Я никогда не замечал шаблона в git, а документы CommandLineParser довольно тонкие, а некоторые сообщения в блоге или другое предполагали соглашение.

(по этому вопросу ... что этот стиль глагола/арг даже называется я, кажется, не найти много чего-либо на нем?)

ответ

1

Из википедии: https://en.wikipedia.org/wiki/Command-line_interface

Опционные соглашения в Unix-подобных системах

В Unix-подобных системах дефис-минус ASCII начинается с опций; новое соглашение (и GNU) должно использовать два дефиса, а затем слово (например, --create) , чтобы идентифицировать использование опции, в то время как старое соглашение (и все еще доступно как опция для часто используемых опций) заключается в использовании одного дефис, затем одна буква (например, -c); если за одним дефисом следуют два или , то это означает, что указаны два параметра, или может быть означает, что вторая и последующие буквы являются параметрами (например, имя файла или дата) для первого варианта.

Два символа дефиса-минус без следующих букв (-) может указать, что остальные аргументы не должны рассматриваться как варианты, что полезно, например, если само имя файла начинается с дефис, или если дальнейшее аргументы предназначены для внутренней команды (например, sudo). Двойные дефен-минусы также иногда используются для префикса «long options», где используются более описательные имена опций. Это общая черта программы GNU . Функция getopt и программа и команда getopts обычно используется для анализа параметров командной строки.

+1

Отлично, это именно то, что я пытался найти. – jleach