Где задокументирован аргумент `--` (двойное тире)?

Это не ed, это твоя оболочка.

Это означает получение необработанных данных до слова ENDи отправка их на STDINкоманды.

Например:

$ cat <<\END
> something
> END
something

дает тот же результат, что и:

$ echo something | cat
something
53
03.03.2020, 21:43
3 ответа

Для ОС Linux с пользовательским пространством GNU :Debian, RedHat, Ubuntu, Mint и т. д. (не для некоторых BSD )общепринятая практика GNU важна:

Список утилит в вашем вопросе объединяет то, что они GNU, на самом деле все они являются GNU coreutils. полный список основных утилит GNU длиннее.

Большинство утилит GNU имеют общий пользовательский интерфейс и общий набор основных параметров командной строки, таких как --help, --versionи использование --в качестве сигнала для конца параметров .

Запись в info commonи на веб-странице GNU содержит:

Certain options are available in all of these programs. Rather than writing identical descriptions for each of the programs, they are described here. (In fact, every GNU program accepts (or should accept) these options.)

‘--’
Delimit the option list. Later arguments, if any, are treated as operands even if they begin with ‘-’. For example, ‘sort -- -r’ reads from the file named -r.

Более точная (, но не такая простая для объяснения и запоминания команда )для доступа к записи --: (пожалуйста, скопируйте точно)info -- cat --.

8
20.08.2021, 10:49

Это также задокументировано вgetopt(1)и getopt(3).

Например,

Each parameter after a `--' parameter is always interpreted as a non-option parameter.

3
20.08.2021, 10:49

--сигнализирует об окончании опций и отключает дальнейшую обработку опций, это часть используемой вами оболочки.

То же, что и man cat, не описывает, что пробел является разделителем между опциями команды, потому что это описано в инструкции к вашей оболочке.

Какую оболочку вы используете, /bin/bash ? Итак, ответ на ваш вопрос man bash, потому что там это объясняется как часть функциональности оболочки, а не как часть функциональности команды.


Обновлено :Это неверно

Спасибо, что поправили меня. То, что я упомянул, верно для большинства встроенных -команд оболочки (, за исключением случаев, когда в руководстве )указано иное. Но в случае внешних команд речь идет о соглашениях POSIX.

-4
20.08.2021, 10:49

Теги

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