Как называется `--`?


23

Недавно я узнал, --что это двойной дефис, который используется, чтобы сообщить команде, что список опций закончился и что не следует рассматривать как опцию. Так,

grep --  'search_word' *

будет искать данные search_word. Но вы можете увидеть неожиданное поведение, если вы удалите --и если есть один файл, который начинается с -, который включит параметр, который соответствует символам в имени файла .

Как это --называется? Есть ли технический термин для этого?


3
Посмотрите дебаты о том, почему юникс-главы говорят «минус»? затем удвой это.
manatwork

@ manatwork Нет, возьми это! Должны ли мы сказать «минус тире» или «тире минус»?
Жиль "ТАК - перестань быть злым"

Я просто произношу это "-".
dubiousjim

Я встречаю закономерности cd --и cd -явления. в то время как cd --означает по существу справедливо cdи, таким образом, превращается в ваш $HOME, cd -значит помещает себя в предыдущий каталог. Это становится удобным, когда вы захотите, cd ..но, как и в случае немецкой раскладки клавиатуры, я часто смешиваю ее cd --. cd -затем вернет вас обратно. : D
математика

Ответы:


15

Он --работает для инструментов, которые используют getopt(3)для обработки аргументов командной строки и многих API, которые анализируют параметры стиля POSIX.

Со страницы руководства getopt(3):

Интерпретация опций в списке аргументов может быть отменена опцией `- '(двойная черта), которая заставляет getopt () сигнализировать об окончании обработки аргумента и возвращать -1.

Я бы тогда сказал, что это называется двойной тире


Но держу пари, что для этого есть какой-то лингвистический термин.
Роб

3
getopt не единственный API, который поддерживает "-". Большинство API, которые анализируют параметры стиля POSIX в большинстве языков, поддерживают это. Все утилиты POSIX, но echoи [поддерживающие их
Стефан Шазелас

@ StephaneChazelas Спасибо, я отредактировал ответ
Маттео

5

Единственные два названия , которые я голова на практике «двойной тир» для ссылки на него эстетический , и «конец опций» для ссылки на него функционально .


Я видел, что это также называется «последний вариант».
Тим Кеннеди
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.