Почему опция помощи --help, но no -h в некоторых командах? [закрыто]

Большинство команд показывают помощь с любым из этих двух параметров:

vi -h vi --help

Но некоторые другие разрешают --help

shred --help xrandr --help

В этих вторых командах -h показывает что-то вроде

xrandr: непризнанная опция '-h' Попробуйте 'xrandr --help' для получения дополнительной информации.

Какой смысл показывать это сообщение вместо того, чтобы показывать помощь? Опция -h в любом случае не используется ни для чего другого.

0
задан 17 July 2017 в 00:17

6 ответов

Одним из факторов, способствующих успеху, может быть сопоставление с одним стандартом. Например, POSIX требует, чтобы «каждое имя опции должно быть одним буквенно-цифровым символом».

-- для многобуквенных опций - это «каждое имя опции должно быть одним буквенно-цифровым символом» . Требование опции --help - это еще одно требование GNU.

3
ответ дан 22 May 2018 в 20:29
  • 1
    Я все еще не уверен в деталях, но, прочитав это, я думаю, что это решение следовать POSIX 2008. Отображение справки считается utility, а не option. Опционные аргументы не должны быть необязательными, но -h не нужны ... поэтому это имеет смысл. Спасибо за ответ и ссылку. – Katu 17 July 2017 в 11:47
  • 2
    Использование словарной утилиты в этой ссылке относится только к имени программы командной строки. Опционная часть исходит из того, что программа распечатывает свою страницу справки и фактически выполняет свою конкретную задачу --- вы указываете, что программа будет делать при ее запуске. – Soupy 17 July 2017 в 12:27

Одним из факторов, способствующих успеху, может быть сопоставление с одним стандартом. Например, POSIX требует, чтобы «каждое имя опции должно быть одним буквенно-цифровым символом».

-- для многобуквенных опций - это «каждое имя опции должно быть одним буквенно-цифровым символом» . Требование опции --help - это еще одно требование GNU.

3
ответ дан 18 July 2018 в 10:11

Одним из факторов, способствующих успеху, может быть сопоставление с одним стандартом. Например, POSIX требует, чтобы «каждое имя опции должно быть одним буквенно-цифровым символом».

-- для многобуквенных опций - это «каждое имя опции должно быть одним буквенно-цифровым символом» . Требование опции --help - это еще одно требование GNU.

3
ответ дан 24 July 2018 в 19:31

Параметры командной строки / переключатели, которые принимает программа, определяются разработчиком, а не ОС.

Вы можете найти репо для программ, которые не принимают -h и fork it, изменить поведение и открыть PR, если вы хотите: D

5
ответ дан 22 May 2018 в 20:29
  • 1
    Спасибо, я понимаю, что разработчик решает. Я искал причины этого решения, если таковые имеются. – Katu 17 July 2017 в 00:22
  • 2
    @Katu в этом случае этот вопрос отключен от AskUbuntu, но вы можете спросить на одном из наших сайтов-партнеров, например sqa.stackexchange.com – Android Dev 17 July 2017 в 00:24

Параметры командной строки / переключатели, которые принимает программа, определяются разработчиком, а не ОС.

Вы можете найти репо для программ, которые не принимают -h и fork it, изменить поведение и открыть PR, если вы хотите: D

5
ответ дан 18 July 2018 в 10:11

Параметры командной строки / переключатели, которые принимает программа, определяются разработчиком, а не ОС.

Вы можете найти репо для программ, которые не принимают -h и fork it, изменить поведение и открыть PR, если вы хотите: D

5
ответ дан 24 July 2018 в 19:31
  • 1
    Спасибо, я понимаю, что разработчик решает. Я искал причины этого решения, если таковые имеются. – Katu 17 July 2017 в 00:22
  • 2
    @Katu в этом случае этот вопрос отключен от AskUbuntu, но вы можете спросить на одном из наших сайтов-партнеров, например sqa.stackexchange.com – Android Dev 17 July 2017 в 00:24

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

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