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

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.

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

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

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

Крис Даун
источник
Я видел, что это также называется «последний вариант».
Тим Кеннеди