Come posso vedere facilmente la pagina man per i comandi della shell incorporata?


11

Se vedo un comando in uno script che non conosco e scrivo (per esempio) man pushdo man umaskvedo la pagina man per i comandi integrati. So che posso fare man bashe scorrere per trovare l'aiuto per quel comando incorporato, oppure posso aprire un browser e andare alla pagina man bash online che è più facile da cercare, ma c'è un modo più semplice per ottenere una pagina man per comando singolo incorporato direttamente sulla riga di comando?

Risposte:


12

Forse ti piace avere una funzione wrapper che salta direttamente al builtin:

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

-Pdice all'uomo di usare meno come cercapersone (probabilmente il default sulla maggior parte dei sistemi), ma passa direttamente una ricerca ad esso. È necessario aggiungere alcuni spazi prima della stringa di ricerca per saltare gli hit nel testo e passare alla descrizione del comando.

Per comodità, creane una funzione e inseriscila nel tuo ~/.bashrc:

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

e usalo come manbash pushd.


Un'altra possibilità è usare il built-in 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:
[...]

helpcomando - perfetto, grazie. Perché la man builtinspagina non suggerisce questo non lo so!
Jhabbott,

1
@jhabbott: mi sono appena scoperto helpmentre scrivevo la mia risposta e pensavo quale sarebbe stato un buon nome per la funzione wrapper ... hm, aiuto! Ok, controlliamo prima se sostituiremo alcune funzioni esistenti - et voilà;)
mpy

5

Sarebbe man bash-builtinspiù utile? Inoltre, puoi cercare nelle pagine man colpendo /e inserendo il termine da cercare.


1

lessriconosce anche l'ancora di inizio linea ^e l'operatore di abbinamento avido *.

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

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

manbb pushd
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.