Командная строка: аргументы, параметры и параметры - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь лучше понять, как работает командная строка

Я немного запутался, когда дело доходит до аргументов, опций и подкоманды

Давайте представим, что с maven (ajava build tool):

mvn clean install

mvn - программа командной строки.Но что такое «чистый» и «установить»?Это аргументы или подкоманды?

Давайте представим еще один пример:

prog -a arg

prog - программа командной строки.-a это опция и аргумент.Как узнать, является ли аргумент arg аргументом, принадлежащим prog, или аргументом, относящимся к опции -a

Спасибо

1 Ответ

0 голосов
/ 29 ноября 2018

Являются ли они аргументами или подкомандами

Это зависит.Если программа имеет иерархию в своих аргументах, они будут подкомандами, как здесь:

docker image ls

(Программа docker имеет команду / группу команд image и подкоманду ls.)

Если программа принимает аргументы для выражения последовательного выполнения, они будут просто аргументами, как здесь:

mvn clean install

(Программа mvn сначала выполнитсяжизненный цикл clean, затем выполнить до фазы install в жизненном цикле default, см. здесь .)

Я вижу, что часто аргументы имеют осмысленный порядок, такой какс Maven, в то время как варианты чаще можно разместить где угодно.Для Maven есть такие аргументы, как -D..., -e, -U (чтобы упомянуть несколько распространенных).Они могут пойти куда угодно:

mvn -e clean -DskipTests install -Dcheckstyle.skip=true ... et cetera

В других программах порядок значений может иметь значение, например, find имеет "тесты" .Они выглядят как варианты (в том смысле, что они имеют -option -обозначение), хотя можно утверждать, что они являются аргументами.Другими словами, это зависит .

prog -a arg Как узнать, является ли arg аргументами, принадлежащими 'prog', или аргументами, принадлежащими опции '-a'

Опять же, зависит от определения опции a.Если он не принимает аргумент, его иногда называют flag .Если принимает аргумент, который является частью спецификации опции, и анализатор командной строки программы может это учитывать.

Лично я многому научился усборка инструментов командной строки с использованием Нажмите .(И ни в коем случае не эксперт.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...