Linux / Comando / help: consultar la ayuda de Bash

help es un comando interno de Bash que muestra la ayuda de sus funciones integradas y su sintaxis. Para consultar funciones y construcciones del propio shell, como cd, read, alias y for, frente a man resulta más directo usar help.

La forma más básica de uso es help TEMA. Puede ver solo la sintaxis sencilla, crear una lista de descripciones breves o mostrarla en un formato similar al de las páginas del manual.

¿Qué es el comando help?

Los comandos incorporados de Bash (builtin) son funciones que se ejecutan directamente dentro del proceso de la shell. Ejemplos representativos incluyen cd, que cambia el directorio de trabajo actual de la shell, read, que lee variables de la shell, y alias, que gestiona alias, todos estrechamente ligados al estado de la shell.

help ofrece ayuda no solo para estos comandos incorporados de Bash, sino también para elementos de la sintaxis de la shell como if, for, while y [[. En otras shells que no sean Bash, la existencia del comando y el formato de salida pueden variar.

Sintaxis básica y ejemplos de uso

help [-dms] [PATRÓN]

Si se ejecuta sin argumentos, imprime la lista de comandos incorporados y elementos de sintaxis que proporcionan ayuda en el Bash actual.

help

Para ver la ayuda detallada de un comando específico, indique su nombre.

help cd
help read
help printf

La sintaxis del shell también se puede verificar de la misma manera. Algunos símbolos pueden ser interpretados primero por el shell, por lo que es seguro encerrarlos entre comillas.

help if
help for
help '[['

Opciones de help

Opciones Descripción
-d Solo imprime una breve descripción de cada elemento.
-m Imprime la ayuda en un formato similar al de las páginas de manual.
-s Solo imprime el formato de uso sencillo (sinopsis) del comando.

Al escribir scripts y solo queriendo verificar rápidamente la colocación de argumentos, -s es útil.

help -s read
help -s getopts

Si necesita una lista de explicaciones simples, use -d, y si necesita explicaciones detalladas con párrafos separados, use -m.

help -d cd
help -m cd

Buscar varias ayudas por patrón

Buscar por prefijo

Si no hay una coincidencia exacta, Bash busca temas cuyo nombre empiece por el patrón indicado. Por ejemplo, el siguiente comando puede mostrar compgen, complete y compopt, cuyos nombres empiezan por comp.

help comp

Uso de patrones de comodín

Si el patrón contiene caracteres de patrón de shell, imprimirá todos los elementos de ayuda que coincidan. Colóquelo entre comillas para evitar que el patrón se expanda primero a los nombres de archivos del directorio actual.

help 'read*'
help '*dir*'

También puede buscar la lista completa con grep, pero primero usar la función de patrones de help permite obtener resultados basados en los nombres de los elementos de ayuda.

Verifique si es un comando incorporado y luego use help

Si no está seguro del tipo de comando, verifíquelo con type. Si el resultado es shell builtin, help suele proporcionar la explicación más directa.

type cd
type printf
type ls

Al igual que printf, puede existir tanto un comando interno de Bash como un archivo ejecutable externo. Para verificar todos los posibles destinos de ejecución, ejecute lo siguiente.

type -a printf

help printf describe el comando interno printf de Bash. Si desea conocer el comportamiento de un programa externo, debe consultar el --help de ese archivo ejecutable o su manual.

Diferencia entre help, --help y man

Método Ámbito de uso Características
help TEMA Comandos internos de Bash y sintaxis de shell Explicación proporcionada directamente por Bash actual
COMANDO --help Programas externos y algunos comandos internos Ver rápidamente la gramática corta y las opciones
man COMANDO Comandos, formatos de archivos, llamadas al sistema, etc. Ver detalladamente las páginas del manual instaladas
info COMANDO Programas GNU que proporcionan documentos Info Explorar manuales largos con nodos e índices

cd --help puede mostrar la ayuda de los comandos incorporados de cd en Bash, pero no se debe esperar el mismo método en todos los shells o para todos los comandos incorporados. Es más claro revisar los comandos incorporados de Bash basándose en help.

Ejemplos de uso práctico

Ver varias opciones de read

read tiene muchas opciones como entrada, tiempo límite, delimitador, arreglo, etc. Primero se verifica el formato de uso y luego se buscan las opciones necesarias en la descripción detallada.

help -s read
help read

Verificar la sintaxis de las sentencias condicionales y los bucles

Las palabras clave y los comandos compuestos del shell script también pueden ser temas de ayuda.

help if
help while
help for
help case

Enviar la salida a través de una tubería o a un archivo

La salida de help se muestra en la salida estándar, por lo que se puede leer con un paginador o guardar en un archivo.

help -m read | less
help -m read > read-help.txt

El segundo comando crea o sobrescribe read-help.txt en el directorio actual; elija una ubicación de prueba y conserve cualquier archivo previo que necesite. En less, pulse q para salir. La ayuda guardada corresponde a la versión y al idioma de Bash utilizados; contraste la versión antes de aplicarla a otro sistema.

Verificar los resultados de help en un shell script

Si el tema de ayuda solicitado existe, generalmente el estado de salida es 0; si no hay un tema coincidente, devuelve un valor distinto de 0. Esto se puede utilizar para verificar la existencia de un elemento específico de ayuda.

if help mapfile >/dev/null 2>&1; then
  printf '%s\n' 'La ayuda de mapfile está disponible.'
else
  printf '%s\n' 'No se encontró ayuda de mapfile en este shell.'
fi

Sin embargo, si el propósito es comprobar el soporte de una función, es más confiable usar type, command -v o realizar una verificación real de la función en lugar de analizar las frases de la salida de help. Esto se debe a que las frases de ayuda pueden variar según la traducción y la versión de Bash.

Preguntas frecuentes

help: no se encuentran temas de ayuda

El nombre ingresado no es un tema de ayuda de Bash o no está disponible en la versión actual de Bash. Consulte el tipo de comando con type NOMBRE, y si es un programa externo, utilice COMANDO --help o man COMANDO.

help no funciona en scripts sh

help es un comando integrado de Bash. /bin/sh puede apuntar a un shell que no sea Bash o, si Bash se ejecuta en modo POSIX, es posible que no se obtengan los resultados esperados. Si el script utiliza funciones de Bash, se debe especificar claramente el intérprete y el entorno de ejecución.

El mismo comando tiene diferentes explicaciones en help y man

Los comandos integrados y los programas externos pueden tener el mismo nombre. Verifique las opciones con type -a NOMBRE; los comandos integrados de Bash se describen en help, mientras que para los archivos ejecutables externos se debe consultar el manual del programa correspondiente.

¿Se debe instalar help como un paquete separado?

No. help es un comando integrado de Bash, por lo que está incluido en Bash. Si el shell actual no es Bash, el mismo comando podría no existir o sus funciones podrían ser diferentes.

¿Se pueden buscar todos los comandos de Linux con help?

No. El objetivo principal de help son los comandos integrados de Bash y la sintaxis del shell. Para los comandos externos, utilice --help, man, info o la documentación oficial.

¿Qué opción se usa para ver solo una línea de gramática simple?

Se utiliza help -s TEMA. Si también se necesita una descripción breve, se utiliza -d, y si se necesita un formato similar a un manual, se utiliza -m.

Si no está seguro del tipo de comando, primero verifíquelo con type. Para programas externos, use --help y man, y otros comandos básicos se pueden consultar en Lista y descripción de comandos de Linux.

Consulte las reglas completas en la Documentación oficial de comandos incorporados de GNU Bash y en el Manual oficial de GNU Bash.