Почему параметр справки --help, но не -h в некоторых командах?

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

vi -h
vi --help

Но некоторые другие позволяют --help

shred --help
xrandr --help

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

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

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

2 ответа

Решение

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

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

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

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

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