Когда опции команды имеют префикс из двух дефисов `--`? [duplicate]

На этот вопрос уже есть ответ здесь:

Каковы общие правила для понимания того, когда опции команды имеют префикс --, а не --?

Редактировать: Предпочтительнее ответ со ссылкой на канонический источник, такой как steeldriver's. Один из предложенных дубликатов ссылается на Википедию, что хорошо, но, вероятно, не так хорошо, как ссылка на документацию GNU.

Вторая правка: я думаю, что название не является моим оригиналом, так что если оно вводит в заблуждение, извините, это была не моя правка. Возможно, это объясняет, почему некоторые комментарии направляют меня на страницу man.

-2
задан 21 December 2015 в 01:42

4 ответа

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

двойной тире -- представляет длинные имена опции, где название опции является целым словом.

AFAIK эта конвенция была представлена в 1980-х утилитами FSF GNU. Обратите внимание, что стандарт POSIX рекомендует единственным опциям тире, за исключением двойного тире указать на конец списка опций.

Видят также

4
ответ дан 30 September 2019 в 00:42

- обычно только сопровождается отдельным символом. Это - наследие от Unix. -- обычно сопровождается несколькими символами (обычно слова или предложения), это прибывает из проекта GNU. Обычно команды (главным образом утилиты GNU) идут с двумя типами параметра, - и --. Например, в эти ls команда, -a и эти --all параметры делают ту же самую вещь, но каждый - все слово, и другой - одна буква.

Наличие всего слова в качестве параметра может быть полезным для сценариев, например, потому что разработчики могут считать их и интерпретировать параметры команд более легко.

В другой руке, имея однобуквенный параметр может стать удобным, когда Вы находитесь в терминале и хотите к командам выполнения быстрее.

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

command --help
command -?
man command

Эти man команда даст более подробное объяснение, но некоторые команды не имеют человека (руководство) страницы.

2
ответ дан 30 September 2019 в 00:42

Обычно командная строка имеет три части:

command -option argument 

Так, - этот известен как опция, и -- этого называют долгой опцией. Это в основном почти делает те же работы, но необходимо игнорировать опции ясно с более поздней.

Вот некоторый пример -, и -- можно использовать с командой ls

enter image description here

2
ответ дан 30 September 2019 в 00:42

Об аргументах

Как упоминания @kos, использование также -, -- или никакой дефис вообще не до выбора разработчика программы.

Команда для запущения самой программы является первым аргументом (индекс 0), второй аргумент (и далее) определяется приложением.

Пример в Python:

if sys.argv[1] == "peanutbutter":
    print("monkey")

распечатает "обезьяну", если с приложением назовут:

<application> peanutbutter

Если код:

if sys.argv[1] == "--peanutbutter":
    print("monkey")

То же произойдет, когда приложение будет запущено с:

<application> --peanutbutter

Настолько простой. Часто, любой использование - или -- является стандартным.

2
ответ дан 30 September 2019 в 00:42

Другие вопросы по тегам:

Похожие вопросы: