Comment puis-je voir facilement la page de manuel des commandes shell intégrées?

11

Si je vois une commande dans un script que je ne connais pas et que je tape (par exemple) man pushdou man umaskje vois la page de manuel des commandes intégrées. Je sais que je peux faire man bashet faire défiler pour trouver l'aide pour cette commande intégrée, ou je peux ouvrir un navigateur et aller à la page de manuel bash en ligne qui est plus facile à rechercher, mais existe-t-il un moyen plus facile d'obtenir la page de manuel pour un commande unique intégrée directement sur la ligne de commande?

jhabbott
la source

Réponses:

12

Peut-être que vous aimeriez avoir une fonction wrapper qui saute directement au module intégré:

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

-Pindique à l'homme d'utiliser moins comme pager (probablement la valeur par défaut sur la plupart des systèmes), mais de lui passer directement une recherche. Vous devez ajouter quelques blancs avant la chaîne de recherche pour ignorer les résultats dans le texte et aller à la description de la commande.

Pour plus de commodité, faites-en une fonction et placez-la dans votre ~/.bashrc:

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

et l'utiliser comme manbash pushd.


Une autre possibilité est d'utiliser la commande 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:
[...]
mpy
la source
helpcommande - parfait, merci. Pourquoi la man builtinspage ne suggère pas cela, je ne sais pas!
jhabbott
1
@jhabbott: Je viens de helpme découvrir en écrivant ma réponse et en pensant à ce qui serait un bon nom pour la fonction wrapper ... hm, aide! Ok, vérifions d'abord si nous allons remplacer une fonction existante - et voilà;)
mpy
5

Serait man bash-builtinsplus utile? Vous pouvez également effectuer une recherche dans les pages de manuel en appuyant sur /et en entrant votre terme de recherche.

Stefan Seidel
la source
1

lessreconnaît également l'ancre de début de ligne ^et l'opérateur de correspondance gourmand *.

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

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

manbb pushd
charcs
la source