Недавно я провел семинар по инструментам Linux и посоветовал студентам обращаться к страницам руководства по командам, если у них возникнут ошибки.
Однако я заметил, что сама команда никогда не возвращает сообщение с просьбой просмотреть страницу руководства по man
команде.
Большинство команд советуют использовать --help
опцию, использовать info
страницу, аннотацию по использованию или просто вывести сообщение об ошибке.
Мне интересно, почему ни одна команда не просит пользователя обратиться к странице руководства? Разве это не первое место, куда нужно обратиться, если команда используется неправильно?
решение1
Тамявляетсяобъективная причина этого.
--help
— это флаг, встроенный в саму утилиту — встроенный в исполняемый двоичный файл или, если это скрипт, встроенный в скрипт.
Страницы руководства хранятся в файловой системе отдельно от самого исполняемого файла.
Страницы руководства могут отсутствовать, а сам исполняемый файл по-прежнему доступен.
Как разработчик утилит, указывающий пользователям на ресурс документации, которыйможет или не можетприсутствовать в их системе имеет меньше смысла, чем встраивание информации в сам код.
Не только это, но иверсия исполняемого файла и версия страницы руководства могут совпадать, а могут и не совпадать.
Я сталкивался с этим, например, когда версия Postgres поставлялась с определенным пакетом, а другая версия Postgres также была установлена в системе. man psql
отображала информацию дляодинверсия, но это была не та версия, которую вы на самом деле получили, запустив psql
. Если бы не было --help
флага, у меня была бы большая загадка, почему некоторые опции не работают согласно странице руководства.
решение2
Это вопрос мнения, поскольку, скорее всего, не существует статистики относительно того, как представлены рекомендации в сообщениях об ошибках.
Преобладающая связь, которую я видел, — это печать сообщения об использовании (которое может быть больше одной строки), возможно, потому что говорить кому-то, чтобы он прочитал страницу руководства, было излишним. Говорить кому-то, чтобы он прочитал сообщение, --help
излишне, и только небольшая часть советует читать информационную страницу.
Все разработанные мной программы предоставляют сообщение об использовании (обычно несколько строк).