Comando help in Bash: leggere la guida di builtin e sintassi della shell
help è il comando interno di Bash che mostra l’uso dei suoi comandi builtin e della sintassi della shell. Con help cd leggete la guida del cd eseguito da Bash; con help for consultate invece la sintassi di un ciclo. Per distinguere questi argomenti dalle pagine del sistema, confrontate anche la guida al comando man.
Usate help NOME, sostituendo NOME con il comando o l’argomento desiderato. Le opzioni permettono di limitare l’output alla sintassi, leggere una breve descrizione oppure ottenere un formato simile a una pagina di manuale.
Che cos’è help in Bash?
Un comando builtin è una funzionalità eseguita all’interno del processo della shell: non va confuso con una funzione definita in uno script. cd cambia la directory di lavoro della shell, read legge l’input e lo assegna a variabili, mentre alias gestisce gli alias.
help documenta anche parole riservate e comandi composti, tra cui if, for, while e [[. for è una parola riservata della sintassi Bash, non un normale builtin. Altre shell possono offrire strumenti diversi; questa guida riguarda Bash.
Sintassi di base ed esempi di utilizzo
help [-dms] [pattern]
Senza argomenti, help elenca i builtin e gli elementi di sintassi documentati dal Bash corrente.
help
Per leggere la guida dettagliata, indicate il nome. I comandi seguenti mostrano rispettivamente le istruzioni di cd, read e printf; non eseguono quelle operazioni.
help cd
help read
help printf
Potete consultare allo stesso modo la sintassi della shell. Mettete tra apici i simboli che potrebbero essere interpretati prima da Bash, come [[:
help if
help for
help '[['
Opzioni di help
| Opzione | Descrizione |
|---|---|
-d |
Fornisce solo una breve descrizione di ogni elemento. |
-m |
Mostra la guida in un formato simile a una pagina di manuale. |
-s |
Mostra soltanto la sintassi breve del comando, detta synopsis. |
Quando si scrivono script e si vuole controllare rapidamente la posizione degli argomenti, -s è utile.
help -s read
help -s getopts
Scegliete -d per una breve descrizione e -m per un testo organizzato con voci come NAME, SYNOPSIS e DESCRIPTION. Nomi delle voci e testo possono cambiare con la lingua e la versione.
help -d cd
help -m cd
Trovare più argomenti con un pattern
Ricerca per prefisso
Per un nome privo di caratteri speciali, Bash cerca prima una corrispondenza esatta; se non la trova, cerca i nomi che iniziano con quel prefisso. help comp può quindi mostrare compgen, complete e compopt, secondo la versione e la configurazione disponibili.
help comp
Usare i caratteri jolly
I caratteri jolly, come *, seguono le regole dei pattern della shell, non quelle delle espressioni regolari di grep. Gli apici impediscono che la shell trasformi il pattern in nomi di file della directory corrente prima di passarlo a help.
help 'read*'
help '*dir*'
help 'read*' può includere read, readarray e readonly; help '*dir*' cerca i nomi che contengono dir, come dirs. Il pattern riguarda i nomi degli argomenti, non una ricerca libera in tutto il testo. Se serve, potete filtrare l’elenco generale con grep.
Distinguere builtin, funzioni e programmi esterni
Prima controllate come Bash risolve il nome con type. shell builtin indica un comando interno; per un programma esterno vedrete normalmente un percorso. Alias e funzioni possono cambiare il risultato.
type cd
type printf
type ls
Uno stesso nome può identificare un builtin e un eseguibile esterno. type -a elenca le corrispondenze disponibili, così potete distinguere quale documentazione consultare.
type -a printf
help printf descrive il printf di Bash. Se vi interessa il programma esterno, consultate la sua documentazione; l’opzione --help è disponibile solo se quel programma la supporta.
Differenze tra help, --help e man
| Metodo | Destinatari | Caratteristiche |
|---|---|---|
help NOME |
Comandi integrati di Bash e sintassi della shell | Spiegazioni fornite direttamente dall'attuale Bash |
NOME --help |
Programmi esterni e alcuni comandi integrati | Controlla rapidamente la sintassi breve e le opzioni |
man NOME |
Comandi, formati di file, chiamate di sistema, ecc. | Controlla in dettaglio la pagina del manuale installata |
info NOME |
Programmi GNU che forniscono documenti Info | Naviga in documentazione lunga con nodi e indice |
cd --help può stampare la guida del builtin in Bash, ma non è una convenzione universale. Inoltre, la stampa della guida non implica necessariamente uno stato di uscita 0: non usatela da sola come prova di disponibilità in uno script. Per consultare un builtin, preferite help NOME.
Esempi pratici di utilizzo
Verifica delle varie opzioni di read
read offre opzioni per timeout, delimitatori, descrittori di file e array. Con -s vedete la sintassi; nella guida completa cercate poi il significato delle opzioni che vi servono.
help -s read
help read
Verifica della sintassi per istruzioni condizionali e cicli
Le parole riservate e i comandi composti negli script shell possono essere anche argomenti di aiuto.
help if
help while
help for
help case
Leggere l’output con un pager o salvarlo in un file
L’output di help va allo standard output. Potete leggerlo con less e uscire dal pager con q. La seconda riga salva invece il testo in read-help.txt nella directory corrente: scegliete una directory scrivibile e un nome libero.
help -m read | less
(set -C; help -m read > read-help.txt)
La parentesi esegue set -C in una sottoshell: abilita noclobber, che impedisce alla redirezione di sovrascrivere un normale file esistente, senza cambiare l’impostazione della shell principale. Se il file esiste, Bash segnala l’errore: scegliete un altro nome. Dopo il successo, aprite il file e controllate che contenga le voci del manuale di read. Il testo riflette la versione e la lingua di quel Bash.
Controllare il risultato di help in uno script
Se il pattern trova un argomento, help restituisce normalmente 0; se non trova corrispondenze, restituisce uno stato diverso da zero e può scrivere un messaggio sullo standard error. L’esempio controlla l’esistenza della guida di mapfile, senza analizzarne il testo:
if help mapfile >/dev/null 2>&1; then
printf '%s\n' 'La guida di mapfile è disponibile.'
else
printf '%s\n' 'La guida di mapfile non è disponibile in questa shell.'
fi
Se la guida esiste, l’esempio stampa La guida di mapfile è disponibile.; altrimenti stampa il messaggio del ramo else. Questo verifica la documentazione, non tutte le capacità del builtin. Per controllare che un nome sia un builtin Bash potete usare type -t NOME; per sapere se un nome è risolvibile, command -v NOME. Quest’ultimo può trovare anche una funzione o un programma esterno. Per una specifica opzione serve una prova della relativa funzionalità.
Domande frequenti
help: errore nessun argomento di aiuto corrispondente
Il messaggio no help topics match indica che non è stato trovato un argomento corrispondente. Controllate nome, pattern e versione di Bash. Per un comando esterno, usate la documentazione del programma, NOME --help se supportato o man NOME, sostituendo il segnaposto.
help non funziona negli script sh
help appartiene a Bash e non è un comando richiesto dallo standard POSIX per tutte le shell. /bin/sh può avviare un’altra implementazione. La sola modalità POSIX di Bash non elimina automaticamente il builtin help. Verificate l’interprete effettivo e scegliete esplicitamente Bash se lo script ne richiede le funzionalità.
È lo stesso comando, ma le spiegazioni in help e man sono diverse.
Un builtin e un programma esterno possono avere lo stesso nome. Controllate con type -a NOME; poi leggete help NOME per il builtin oppure il manuale del programma esterno. Confrontate anche le versioni dei documenti e del programma.
Devo installare help separatamente?
Nelle normali installazioni di Bash è un builtin, quindi non serve un pacchetto help separato. Prima verificate di essere in Bash. Una compilazione particolare, un builtin disabilitato o una funzione con lo stesso nome possono richiedere controlli ulteriori con type -a help.
Posso cercare tutti i comandi Linux con help?
No. I suoi argomenti sono i builtin e la sintassi di Bash. Per un programma esterno cercate --help, man, info o la documentazione del progetto, secondo ciò che è disponibile.
Come vedere soltanto la sintassi breve?
Usate help -s NOME per la sintassi breve. -d mostra la descrizione breve, mentre -m organizza la guida come un manuale. La sintassi può occupare più righe, quindi -s non garantisce una sola riga fisica.
Scegliere la guida corretta
Per consultare un argomento Bash, partite da help NOME, limitatevi alla sintassi con -s oppure usate un pattern tra apici per cercare più nomi. Il testo appartiene al Bash che state eseguendo, un dettaglio utile quando confrontate sistemi o versioni diverse.
Se il nome può indicare più comandi, controllate prima type -a NOME. Per i builtin leggete la guida di Bash; per un eseguibile esterno scegliete il documento fornito da quel programma.




