Почему параметр справки --help, но не -h в некоторых командах?
Большинство команд показывают справку по любому из этих двух параметров:
vi -h
vi --help
Но некоторые другие позволяют --help
shred --help
xrandr --help
В этих вторых командах -h
показывает что-то вроде
xrandr: нераспознанная опция '-h' Попробуйте 'xrandr --help' для получения дополнительной информации.
Какой смысл показывать это сообщение вместо того, чтобы показывать помощь? -h
опция в любом случае не используется ни для чего другого.
2 ответа
Одним из способствующих факторов может быть согласование с тем или иным стандартом. Например, POSIX требует, чтобы "каждое имя опции было одним буквенно-цифровым символом".
--
для многобуквенных опций расширение GNU. Требование--help
опция - это еще одно требование GNU.
Параметры / параметры командной строки, принимаемые программой, определяются разработчиком, а не ОС.
Вы можете найти репо для программ, которые не принимают -h
и разветвите его, измените поведение и откройте пиар, если хотите:D