Я использую man
команду все время, когда хочу получить информацию о конкретной команде. Но это не сильно помогает мне, когда эта конкретная команда является встроенной оболочкой. Например:
man cd
возвращает:
No manual entry for cd
Мой вопрос: это можно сделать man
также работать для всех оболочки встроено команд (как cd
, alias
, history
и т.д.) и ключевые слова (как if
, while
, [[
, {
и т.д.)?
command-line
manpage
Раду Рэдяну
источник
источник
echo
получается встроенная команда, но есть страница руководства?echo
также является системной командой (исполняемой), расположенной в/bin
. Вы можете проверить это, используяtype -a echo
. То же самое происходитtime
и, возможно, с другими.info bash
?Ответы:
Команда,
help
когда используется с-m
параметром, может отображать информацию о встроенных командах в формате псевдо-manpage. Например:будет отображать информацию о
cd
команде в формате почти так же, как на странице руководства.Начиная с этой команды вы можете заключить
man
команду в одну функцию в вашем.bashrc
файле следующим образом:После этого
man
будет работать также для всех встроенных команд оболочки и ключевых слов. Например:будет отображать:
источник
man time
противman 1 time
zsh
пользователь, вам не так повезло: bugs.launchpad.net/ubuntu/+source/zsh/+bug/1242108 (man-страниц не установлено)info
,help -m
Почему мы не можем просто иметь хорошие страниц человека в эти дни? В любом случае, спасибо!man type
что в Ubuntu 14.04.4 не приводится описание параметров "-a" или "-t" ... и тем не менее, они ты там!Он содержит фрагменты справки для встроенных команд, хотя и в несколько более сжатом формате, чем
help
эквивалентный.источник
Вы можете установить страницы руководства по использованию системы POSIX для разработки, как,
Он предоставит справочные страницы для встроенных команд оболочки.
Теперь попробуй,
источник
Это решение работает очень хорошо, но это немного шутка, потому что первое, что я подумал, когда прочитал ваш вопрос, было: «Кто все еще буквально использует человека из командной строки? Разве все не просто Google гугл-страницы, которые они хотят (чтобы они получили такие необычные вещи, как неограниченная прокрутка)? ». Затем я понял, что сайты, которые я обычно использую в Google, имеют оба типа команд, так почему бы просто не использовать их для обеспечения единого интерфейса man-страницы для всех команд. Следовательно, это веселье родилось.
Это требует подключения к Интернету для любых записей, которые вы еще ни разу не просматривали. Также нужны эти два небольших приложения, которые отсутствуют в стандартной установке Ubuntu:
Они не являются абсолютно необходимыми, но они помогают выглядеть немного лучше. Tidy очистит HTML, а html2text отформатирует этот html как форматированный текст (что обычно довольно тривиально, поскольку большинство этих сайтов уже отформатированы и просто заключены в теги <pre>.
Теперь все, что вам нужно сделать, это добавить это в конец
~/.profile
:После того, как вы выйдете из системы, а затем вернетесь в нее, вы сможете набрать:
и он покажет страницу руководства для
cd
.При этом используется каталог данных (/ usr / share / iman), чтобы минимизировать наши сетевые требования (поэтому он будет работать для записей, которые вы уже нашли раньше, даже без подключения), а также для минимизации нагрузки на этот случайный сайт man-страниц linux Я нашел с записями системы, которые мы хотим в этом также). Если вы больше не используете это, вы захотите удалить это, чтобы освободить место на диске.
Надеюсь, все остальное довольно просто.
источник
iman
функций ваша функция возвращает тот же вывод, что иman bash-builtins
.