Как я могу легко увидеть страницу руководства для встроенных команд оболочки?


11

Если я вижу команду в сценарии, которую я не знаю, и я набираю (например), man pushdили man umaskя вижу страницу руководства для встроенных команд. Я знаю, что могу сделать man bashи прокрутить, чтобы найти справку для этой встроенной команды, или я могу открыть браузер и перейти на страницу справки по bash, которую проще искать, но есть ли более простой способ получить страницу справки для единственная встроенная команда прямо в командной строке?

Ответы:


12

Возможно, вам нравится иметь какую-то функцию-обертку, которая сразу переходит к встроенной функции:

man -P "less +/\ \ \ pushd" bash

-Pговорит человеку, что нужно использовать меньше как пейджер (вероятно, по умолчанию в большинстве систем), но передать ему прямой поиск. Вам нужно добавить несколько пробелов перед строкой поиска, чтобы пропустить попадания в тексте и перейти к описанию команды.

Для удобства сделайте из него функцию и поместите ее в ~/.bashrc:

function manbash {
   man -P "less +/\ \ \ $1" bash
}

и использовать его как manbash pushd.


Другая возможность заключается в использовании встроенной команды bash help:

$ help pushd
pushd: pushd [-n] [+N | -N | dir]
Add directories to stack.

Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
directory.  With no arguments, exchanges the top two directories.

Options:
[...]

helpКоманда - отлично, спасибо. Почему man builtinsстраница не предлагает это, я не знаю!
Джабботт

1
@jhabbott: Я только что обнаружил helpсебя, когда писал свой ответ и думал, что было бы хорошим названием для функции-оболочки ... хм, помогите! Хорошо, давайте сначала проверим, переопределим ли мы какую-нибудь существующую функцию - et voilà;)
mpy

5

Было man bash-builtinsбы более полезно? Кроме того, вы можете осуществлять поиск по страницам руководства, нажимая /и вводя условия поиска.


1

lessтакже распознает привязку начала строки ^и жадный оператор сопоставления *.

man -P "less '+/^ *'pushd" bash

manbb() {
   man -P "less '+/^ *'${1}" bash
}

manbb pushd
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.