¿Cómo puedo ver fácilmente la página del manual para los comandos de shell incorporados?

11

Si veo un comando en un script que no conozco y escribo (por ejemplo) man pushdo man umaskveo la página del manual para los comandos incorporados. Sé que puedo hacer man bashy desplazarme para encontrar la ayuda para ese comando incorporado, o puedo abrir un navegador e ir a la página de manual de bash en línea, que es más fácil de buscar, pero hay una manera más fácil de obtener la página de manual para un comando incorporado individual directamente en la línea de comando?

jhabbott
fuente

Respuestas:

12

Quizás le guste tener alguna función de envoltura que salte directamente a la construcción:

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

-Ple dice al hombre que use menos como buscapersonas (probablemente el valor predeterminado en la mayoría de los sistemas), pero que le pase directamente una búsqueda. Debe agregar algunos espacios en blanco antes de la cadena de búsqueda para omitir los resultados en el texto e ir a la descripción del comando.

Por conveniencia, haga una función y colóquelo en su ~/.bashrc:

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

y úsalo como manbash pushd.


Otra posibilidad es usar el bash incorporado 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:
[...]
mpy
fuente
helpcomando - perfecto, gracias. ¡Por qué la man builtinspágina no sugiere esto, no lo sé!
jhabbott
1
@jhabbott: Acabo de descubrirme helpmientras escribía mi respuesta y pensaba cuál sería un buen nombre para la función de envoltura ... ¡hm, ayuda! Ok, primero verifiquemos si ;)
anularemos
5

Sería man bash-builtinsmás útil? Además, puede buscar dentro de las páginas man presionando /e ingresando su término de búsqueda.

Stefan Seidel
fuente
1

lesstambién reconoce el ancla de inicio de línea ^y el operador de correspondencia codicioso *.

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

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

manbb pushd
charcs
fuente