Provided by: manpages-es_4.15.0-9_all bug

NOMBRE

       bash - GNU Bourne-Again SHell (la shell de Bourne otra vez, de GNU)

SINOPSIS

       bash [opciones] [orden | achivo]

COPYRIGHT

       Bash is Copyright (C) 1989-2020 by the Free Software Foundation, Inc.

DESCRIPCIÓN

       Bash  es  un  intérprete  de  lenguage  de  script  compatible  con sh que ejecuta órdenes
       recibidas  desde  la  entrada  estándar  o  desde  un  archivo.   Bash  también  incorpora
       funcionalidades tomadas de otras shell como Korn y C (ksh y csh).

       Bash  está  pensado  para  ser  una implementación conforme con la especificación POSIX de
       Shell y Herramientas, de la IEEE  (Grupo  de  Trabajo  1003.2  de  la  IEEE).  Bash  puede
       configurarse para ser conforme a POSIX por defecto.

OPCIONES

       La shell puede ejecutarse con cualquiera de las opciones descritas en la descripción de la
       orden interna set, incluso la opcion -o.  Además, bash tambień interpreta  las  siguientes
       opciones cuando se ejecuta:

       -c        Con  la  opción -c, las órdenes se empiezan a leer a partir del primer argumento
                 orden que no sea una opción. Si hay algún argumento después de orden, el primero
                 de  ellos  se  asignará  a  $0  y  el  resto  a  los parámetros posicionales. La
                 asignacióna $0 define el nombre de la shell que se  usará  en  los  mensajes  de
                 error y avisos.
       -i        Si la opción -i está presente, la shell es interactivo.
       -l        Hace  que  bash  actúe  como  si se le hubiera llamado como una shell de entrada
                 (consulte LLAMADA más adelante).
       -r        Si la opción -r está presente, entonces la shell se  pone  en  modo  restringido
                 (consulte SHELL RESTRINGIDA más adelante).
       -s        Si  la  opción  -s está presente, o si no quedan argumentos tras el procesado de
                 las opciones, entonces las órdenes se  leen  desde  la  entrada  estándar.  Esta
                 opción  permite  definir los parámetros posicionales cuando se llama a una shell
                 interactiva o cuando se reciban datos mediante una tubería.
       -v        Repite en la salida las líneas de entrada de la shell tras leerlas.
       -x        Muestra las órdenes y sus argumentos a medida que se ejecutan.
       -D        Se  muestra  en  la  salida  estándar  una  lista  de  cadenas   de   caracteres
                 entrecomilladas  precedidas  por  $.   Estas cadenas son las que están sujetas a
                 traducción cuando la localización en curso  no  es  C  ni  POSIX.   Esta  opción
                 implica también la -n; no se ejecuta ninguna orden.
       [-+]O [opción_shopt]
                 opción_shopt  representa  una de las opciones de la shell aceptadas por la orden
                 nativa shopt (consulte ÓRDENES NATIVAS DE LA  SHELL  a  continuación).  Si  está
                 presente  opción_shopt,  -0  definirá  el valor de dicha opción y +0 anulará esa
                 definición. Si no está presente opción_shopt, se muestran en pantalla una  lista
                 con  los nombres y los valores de las opciones aceptadas por shopt. Si se invoca
                 con la opción +0, se muestra una lista apta para su reutilización.
       --        Un -- señala el fin de las opciones e inhabilita cualquier  posterior  procesado
                 de  opciones. Cualesquier argumentos tras -- se tratan como nombres de fichero y
                 argumentos. Un argumento - es equivalente a --.

       Bash también interpreta una variedad de opciones  multi-carácter.   Estas  opciones  deben
       aparecer  en  la  línea  de órdenes antes de las opciones monocarácter para que puedan ser
       reconocidas.

       --debugger
              Ejecuta el depurador antes del inicio de la shell. Activa  el  modo  de  depuración
              ampliado  (consulte la descripción de la opción extdebug de la orden nativa shopt a
              continuación).
       --dump-po-strings
              Equivalente a -D, pero la salida  es  en  el  formato  de  un  fichero  po  (objeto
              portable), del gettext de GNU.
       --dump-strings
              Equivalente a -D.
       --help Muestra un mensaje de modo de empleo en la salida estándar y acaba con éxito.
       --init-file fichero
       --rcfile fichero
              Ejecuta órdenes desde archivo en vez de hacerlo desde el archivo de inicio estándar
              /etc/bash.bashrc y el personal en ~/.bashrc si la shell  es  interactiva  (consulte
              LLAMADA más adelante).

       --login
              Equivale a -l.

       --noediting
              No  utiliza  la  biblioteca  de  GNU  readline  para leer líneas de órdenes en modo
              interactivo.

       --noprofile
              No lee ni el fichero de arranque de sistema /etc/profile ni ninguno de los ficheros
              de  inicio  personales ~/.bash_profile, ~/.bash_login, ni ~/.profile.  Por omisión,
              bash lee estos ficheros cuando se le llama como una shell de entrada  (vea  LLAMADA
              más adelante).

       --norc No  lee  ni ejecuta el archivo de inicio general /etc/bash.bashrc ni el personal de
              cada usuario en ~/.bashrc si la shell es interactiva. Esta opción  está  activa  de
              forma predeterminada si se ejecutó la shell mediante sh.

       --posix
              Cambia  el  comportamiento  de  bash  cuando el funcionamiento difiera del estándar
              POSIX 1003.2, de forma que concuerde con éste(posix mode). Consulte  VEASE  TAMBIÉN
              más  delante  si  quiere  leer un documento donde se detalla la influencia del modo
              posix sobre el funcionamiento de bash.

       --restricted
              la shell se pone en modo restringido (consulte SHELL RESTRINGIDA más adelante).

       --verbose
              Equivale a -v.

       --version
              Muestra información en la salida estándar sobre la versión de esta instanciación de
              bash y acaba con éxito.

ARGUMENTOS

       Si  quedan  argumentos tras el procesado de las opciones, y no se han dado ni la opción -c
       ni la -s, se supondrá que el primer argumento es el nombre  de  un  archivo  que  contiene
       órdenes  de  la  shell.   Si  bash se llama de esta manera, $0 se define con el nombre del
       archivo, y los parámetros posicionales se definen con los restantes argumentos.  Bash  lee
       y  ejecuta  órdenes de este archivo y después finaliza.  El estado de salida de bash es el
       de la última orden ejecutada en el script.  Si no se ejecuta ninguna orden, el  estado  de
       salida  es  0.  Primero  se  intenta  abrir  el  archivo en el directorio actual, si no se
       encunetra ninguno entonces se buscará en los directorios definidos  en  el  PATH  para  el
       script.

LLAMADA

       Una  shell de entrada es aquella cuyo primer carácter del argumento cero es un -, o que ha
       sido llamada con la opción --login.

       Una shell interactiva es aquella que se inició sin argumentos sin opciones (salvo  que  se
       especifique  -s)  y  sin  la  opción  -c  cuya entrada y error estandar están conectadas a
       terminales (según determina isatty(3)), o uno iniciado con la opción -i.  Se define PS1  y
       $-  incluye  i si bash es interactivo, permitiendo así a un script de shell o a un archivo
       de inicio la comprobación de este estado.

       Los siguientes párrafos  describen  cómo  bash  ejecuta  sus  ficheros  de  arranque.   Si
       cualquiera  de  los  ficheros  existe pero no puede leerse, bash informa de un error.  Las
       tildes de la ñ se expanden en nombres  de  ficheros  como  se  describe  más  adelante  en
       Expansión de la tilde en la sección EXPANSIÓN.

       Cuando  bash se llama como una shell de entrada interactiva, primero lee y ejecuta órdenes
       desde el archivo /etc/profile,  si  es  que  existe.   Tras  leer  este  archivo,  buscará
       ~/.bash_profile,  ~/.bash_login,  y  ~/.profile,  en ese orden, ejecutando las órdenes del
       primero de ellos que exista y se pueda leer. La opción --noprofile evitará estas acciones.

       Cuando una shell de entrada termina o una shel de entrada no interactiva ejecuta la  orden
       natia exit,  bash ejecutará las órdenes contenidas en ~/.bash_logout, si existiese.

       Cuando  se  inicia  una shell interactiva no de inicio, bash lee y ejecuta las órdenes que
       encuentra en ~/.bashrc, si existiese. Esto puede evitarse mediante la opción  --norc.   La
       opción --rcfile archivo forzará a bash a leer y ejecutar órdenes desde archivo en lugar de
       hacerlo desde ~/.bashrc.

       Cuando bash se arranque de forma no interactiva, por ejemplo para ejecutar un script de la
       shell,  busca  la  variable  BASH_ENV  en el entorno, expande su valor si está definida, y
       utiliza el valor expandido como el nombre de un  fichero  a  leer  y  ejecutar.   Bash  se
       comporta como si se ejecutaran las siguientes órdenes:
              if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
       pero el valor de la variable PATH no se emplea para buscar el nombre del fichero.

       Si bash se ejecuta con con el nombre sh, intentará imitar el comportamiento de arranque de
       versiones antiguas de sh tanto como sea posible, pero  sin  salirse  del  estándar  POSIX.
       Cuando  se  ejecuta  como una shell interactiva de entrada, primero intentará ejecutar las
       órdenes de /etc/profile y ~/.profile, en ese orden. La  opción  --noprofile  anulará  esta
       acción.  Cuando  se  ejecuta  como  una  shell interactiva con el nombre sh, bash busca la
       variable ENV, expande su valor si está definida, y  emplea  el  valor  expandido  como  el
       nombre  de  un  archivo  a  ejecutar. Como una shell llamada como sh no intentará ejecutar
       órdenes desde cualquier otro archivo de inicio, la opción --rcfile no  tiene  efecto.  Una
       shell  no  interactivo  llamada con el nombre sh no intenta leer ningún fichero de inicio.
       Cuando se llama como sh, bash entra en modo posix después de leer los ficheros de inicio.

       Cuando bash se arranca en modo posix, como ocurre cuando se  da  la  opción  de  línea  de
       órdenes --posix, sigue el estándar POSIX para los ficheros de arranque.  En este modo, los
       shells interactivos expanden la variable ENV y se leen y ejecutan órdenes desde el fichero
       cuyo  nombre  es  el  valor expandido de dicha variable.  No se lee ningún otro fichero de
       arranque.

       Bash intenta determinar cuándo se está ejecutando con su entrada estándar conectada a  una
       red como si se ejecutase en remoto, usualmente mediante rshd o sshd. Si bash determina que
       está siendo ejecutado de este modo, lee y ejecuta órdenes desde  ~/.bashrc,  si  existe  y
       tiene  permiso  de lectura.  Esto no lo hará si se ejecuta mediante la orden sh. La opción
       --norc puede emplearse para inhibir  este  comportamiento,  y  la  opción  --rcfile  puede
       utilizarse para forzar la lectura de otro archivo, pero ni rshd, ni sshd suelen invocar la
       shell con estas opciones ni permitir su uso.

       Si se inicia la shell con un id de usuario (o grupo) efectivo distinto del id  de  usuario
       (o  grupo)  real  y no se indica la opción -p, no se leerá ningún archivo de inicio, no se
       heredarán las funciones de la shell del entorno, si  están  presentes  en  el  entorno  se
       ignorarán  las  variables  SHELLOPTS,  BASHOPTS,  CDPATH  y  GLOBIGNORE y el id de usuario
       efectivo será el mismo del usuario real. Si se indica la opción -p, se hará lo mismo salvo
       que el id de usuario efectivo no se cambia.

DEFINICIONES

       Las siguientes definiciones se usan a través del resto de este documento.
       blanco Un espacio en blanco o tabulación (tab).
       palabra
              Una  secuencia  de  caracteres  considerados  por  la  shell  como una sola unidad.
              También se conoce como un lexema (token).
       nombre Una palabra que consiste solamente en  caracteres  alfanuméricos  y  subrayados,  y
              comienza con un carácter alfabético o un subrayado. También se llama identificador.
       metacarácter
              Un  carácter  que,  cuando  no  está  entrecomillado,  separa  palabras. Uno de los
              siguientes:
              |  & ; ( ) < > space tab newline
       operador de control
              Un lexema que realiza una función de control. Es uno de los siguientes símbolos:
              || & && ; ;; ;& ;;& ( ) | |& <newline>

PALABRAS RESERVADAS

       Las Palabras reservadas son palabras que tienen un significado especial para la shell. Las
       siguientes  palabras se reconocen como reservadas cuando no van entrecomilladas y/o son la
       primera palabra de una orden simple (vea GRAMÁTICA  DE  LA  SHELL  a  continuación)  o  la
       tercera  palabra de una orden case o select (solo sería válido in) o de la orden for (solo
       in y do serían válidos):

       ! case  coproc  do done elif else esac fi for function if in select then until while  {  }
       time [[ ]]

GRAMÁTICA DE LA SHELL

   Órdenes simples
       Una  orden  simple  es  una  secuencia de asignaciones opcionales de variables seguida por
       palabras separadas por blancos y redirecciones, y terminadas por un operador  de  control.
       La  primera  palabra especifica la orden a ser ejecutada, se pasa como argumento cero. Las
       palabras restantes se pasan como argumentos a la orden invocada.

       El valor devuelto de una orden simple es su estado de salida,  ó  128+n  si  la  orden  ha
       terminado debido a la señal n.

   Tuberías
       Una  tubería  es una secuencia de una o más órdenes separadas por uno de los operadores de
       control | o |&.  El formato de una tubería es:

              [time [-p]] [ ! ] orden [ [||&] orden2 ... ]

       La salida estándar de orden está conectada mediante una tubería a la entrada  estándar  de
       orden2.  Dicha  conexión  se  reliza  antes  de  cualquier redirección que defina la orden
       (consulte REDIRECCIÓN más adelante). Si se emplea |& la salida de error estándar de  orden
       también se conectará a la entrada estándar de orden2 junto con su salida estándar a través
       de la tubería; esto es una abreviatura de  2>&1 |. Esta redirección implícita de la salida
       de  error  estándar  hacia  la salida estándar se realiza después de cualquier redirección
       definida por la orden.

       El estado de salida de una tubería será el de la última orden salvo que la opción pipefail
       esté  activada,  en  cuyo caso el estado de salida será el de la última (más a la derecha)
       orden que conforme la tubería. Si se precede la tubería de  la  palabra  reservada  !,  su
       estado  de  salida  será  la  negación lógica del estado de salida descrito para los casos
       anteriores. La shell esperará que finalice la ejecución de la última orden  para  devolver
       un estado de salida.

       Si  la palabra reservada time precede una tubería, se informa del tiempo transcurrido, así
       como del de usuario y sistema, consumido en  la  ejecución  de  la  tubería,  cuando  ésta
       termina.   La  opción  -p cambia el formato de salida al especificado por POSIX. Cuando la
       shell está en modo posix, no reconoce time como palabra reservada si el siguiente conjunto
       de  opciones  comienza  por  "-".  La variable TIMEFORMAT puede definir la forma en que se
       muestran las temporizaciones. Consulte TIMEFORMAT en el apartado Variables de la Shell.

       Cuando la shell está en modo posix, time puede ir seguido de un salto de  línea.  En  cuyo
       caso, se muestra la totalidad del tiempo de usuario y sistema consumido por la shell y sus
       descendientes. Puede  usarse  la  variable  TIMEFORMAT  para  definir  el  formato  de  la
       información de tiempo.

       Cada  orden que forme parte de una tubería se ejecuta en un proceso separado, es decir, en
       una subshell. Consulte ENTORNO DE EJECUCIÓN DE ÓRDENES si precisa información  acerca  del
       entorno  en  una  subshell.  Si  la opción lastpipe está activada mediante la orden nativa
       shopt (vea la descripción de shopt a continuación), el  último  elemento  de  una  tubería
       puede ser ejecutado por la propia shell.

   Listas
       Una lista es una secuencia de una o más tuberías separadas por uno de los operadores ;, &,
       &&, o ||, y terminada opcionalmente por uno de ;, &, o <nueva-línea>.

       De estos operadores de listas, && y || tienen igual precedencia. Le  siguen  ;  y  &,  que
       también tienen igual precedencia.

       Puede  aparece  uno  o  varios  saltos de línea en lugar de un punto y coma para delimitar
       órdenes en una lista

       Si una orden se termina mediante el operador de control &, la shell ejecuta  la  orden  en
       segundo  plano  en  una  subshell.  La  shell no espera que la orden acabe, y el estado de
       salida será 0. Esto es lo que se denomina órdenes asíncronas. Las órdenes separadas por un
       ;  se ejecutan secuencialmente; la shell espera que cada orden termine, por orden. En este
       caso, el estado de salida será el de la última orden ejecutada.

       Las listas AND y OR son secuencias formadas por una  o  más  tuberías  separadas  por  los
       operadores  de  control  &&  y  ||,  respectivamente.  Se  comienzan  a interpretar por la
       izquierda. Una lista AND tiene el siguiente formato:

              orden1 && orden2

       orden2 se ejecuta si y solo si orden1 devuelve un estado de salida 0.

       Una lista O tiene el siguiente formato

              orden1 || orden2

       orden2 se ejecuta si y solo si orden1 devuelve un estado de salida distinto  de  cero.  El
       estado de salida de las listas Y y O es el de la última orden ejecutada en la lista.

   Órdenes Compuestas
       Una  orden compuesta es una de las siguientes. En la mayoría de los casos, una lista en la
       descripción de una orden puede ir separada del resto de la orden por uno o más  saltos  de
       línea y puede ir seguido de un salto de línea en lugar de un punto y coma.

       (lista)
              lista  se  ejecuta  en  un  subshell  (consulte ENTORNO DE EJECUCIÓN DE ÓRDENES más
              adelante). Después de que la  orden  finaliza  su  ejecución,  las  asignaciones  a
              variables  y órdenes nativas que afectaran al entorno de la shell no permanecen. El
              estado de retorno es el de salida de lista.

       { lista; }
              lista se ejecuta en el entorno actual de la shell, deberá finalizar con un salto de
              línea  o  un  punto  y  coma. Esto se conoce como un grupo de órdenes. El estado de
              salida es el de lista. Observe que a diferencia de los metacaracteres (  y  ),  los
              metacaracteres  {  y  }  son  palabras  reservadas y solo deberían utilizarse donde
              dichas palabras se reconozcan como tales. Como no pueden  causar  una  división  de
              palabra,  deben separarse de la lista mediante espacio o mediante otro metacarácter
              de la shell.

       ((expresión))
              La expresión se evalúa de acuerdo a las  reglas  descritas  más  adelante  bajo  la
              sección EVALUACIÓN ARITMÉTICA.  Si el valor de la expresión es distinto de cero, el
              estado de retorno es 0; de otro modo el estado de retorno es 1. Esto es equivalente
              exactamente a let "expresión".

       [[ expresión ]]
              Devuelve  un  estado  de  0  ó  1  dependiendo  de  la  evaluación  de la expresión
              condicional expresión.  Las expresiones se  componen  de  las  primarias  descritas
              adelante  bajo  EXPRESIONES CONDICIONALES.  No tienen lugar división de palabras ni
              expansión de nombres de ruta en las palabras entre el [[ y el ]]; sí se realizan la
              expansión  de  tilde,  expansión  de  parámetros y variables, expansión aritmética,
              sustitución de orden, sustitución de  proceso  y  eliminación  de  comillas.  Deben
              eliminarse  las  comillas  de  los  operadores  condicionales como -f para que sean
              reconocidos como primarios.

              Cuando se emplean con [[, los operadores < y > ordenan lexicográficamente en base a
              la configuración del idioma actual.

       Vea  la  descripción de la orden nativa test en la sección ÓRDENES NATIVAS DE LA SHELL más
       adelante para la gestión de parámetros (es decir, para los parámetros que no se indican).

       Cuando se emplean los operadores == y !=, la cadena a la derecha del operador se considera
       un  patrón  y  se  hace  concordar  de acuerdo a las reglas descritas más adelante bajo el
       epígrafe Concordancia de patrones, tal como si estuviese activa la opción  extglob  de  la
       shell. El operador == equivale a =. Si está activada la opción nocasematch de la shell, se
       buscará la concordancia sin diferenciar entre mayúsculas y minúsculas. El  valor  devuelto
       es  0  si la cadena concuerda (==) o no concuerda (=0 )con el patrón, respectivamente, y 1
       en  otro  caso.   Cualquier  parte  del  patrón  puede  entrecomillarse  para  forzar   la
       concordancia como una cadena de caracteres pura.

       Dispone  de  otro operador binario: =~. Tiene la misma prevalencia que == y !=. Al usarlo,
       la cadena a la derecha se considerará una expresión regular ampliada  POSIX  y  concordada
       adecuadamente  (mediante  las interfaces POSIX regcomp y regexec generalmente descritas en
       regex(3). El valor devuelto será 0 si la cadena concuerda  con  el  patrón  y  1  en  caso
       contrario.  Si la expresión regular contiene algún error de sintaxis se devolverá el valor
       2. Si la opción nocasematch está activa, se buscará la concordancia sin  distinguir  entre
       mayúsculas  y  minúsculas.  Puede  entrecomillarse una parte del patrón para forzar que la
       parte entrecomillada concuerda como una cadena. Debe tenerse especial cuidado con  el  uso
       de  corchetes ya que las comillas normales pierden su especial significado entre ellos. Si
       el patrón es una variable de la shell, al entrecomillar la expansión de esta  variable  se
       fuerza a que la totalidad del patrón concuerde como una cadena.

       El  patrón concordará si lo hace cualquier parte de la cadena. Para hacer que concuerde la
       cadena completa, puede rodear el patrón con los operadores de expresiones regulares ^ y $.
       La  variable  vectorial  BASH_REMATCH  registra  la parte de la cadena que concordó con el
       patrón. El elemento de BASH_REMATCH con índice 0 contendrá el fragemento de la cadena  que
       concuerda  con toda la expresión regular. Las subcadenas que concuerdan con subexpresiones
       entre paréntesis se guardan en los índices de BASH_REMATCH donde el índice n es  la  parte
       de la cadena que concuerda con la enésima subexpresión entre paréntesis.

       Las  expresiones  pueden  combinarse mediante los siguientes operadores, listados en orden
       decreciente de precedencia:

              ( expresión )
                     Devuelve el valor de  expresión.   Esto  puede  emplearse  para  cambiar  la
                     precedencia normal de los operadores.
              ! expresión
                     Verdad si expresión es falsa.
              expresión1 && expresión2
                     Verdad si ambas expresión1 y expresión2 son verdaderas.
              expresión1 || expresión2
                     Verdad si una al menos de expresión1 o expresión2 es verdad.

              Los  operadores  &&  y  ||  no  evalúan  la expresión2 si el valor de expresión1 es
              suficiente para determinar el valor de retorno de toda la expresión condicional.

       for nombre [ [ in palabra ...; ] ] do lista ; done
              La lista de palabras que va detrás  de  in  se  expande,  generando  una  lista  de
              elementos.  La  variable  nombre  se  define como cada elemento de la lista en cada
              iteración, y lista se ejecuta cada vez. Si la palabra de in se omite, la orden  for
              ejecuta  lista  una  vez para cada parámetro posicional que esté definido (consulte
              PARÁMETROS más adelante).  El estado de retorno es el de salida de la última  orden
              que  se  ejecuta.   Si  la expansión de los elementos después del in resulta en una
              lista vacía, no se ejecuta ninguna orden y el estado de salida es 0.

       for (( expr1 ; expr2 ; expr3 )) ; do lista ; done
              Primeramente se evaluará la  expresión  aritmética  expr1  en  base  a  las  reglas
              definidas  más  adelante  en la sección EVALUACIÓN ARITMÉTICA. Después se evalúa la
              expresión expr2 repetidamente hasta que el resultado sea cero. Cada vez  que  expr2
              se  evalúe  con  un  resultado  diferente  a cero, se ejecutará lista y se evaluará
              expr3. Si se omite alguna de las  expresiones,  se  considerará  el  valor  1  como
              resultado  de su evaluación. El valor retornado es el estado de salida de la última
              orden de lista ejecutada o falso si alguna de las expresiones no es válida.

       select nombre [ in palabra ] ; do lista ; done
              La lista de palabras que sigue a in se expande, generando una lista  de  elementos.
              El  conjunto  de  palabras  expandidas se muestra en la salida estándar de errores,
              cada una precedida por un número. Si la palabra del in se omite,  se  muestran  los
              parámetros posicionales (consulte PARÁMETROS más adelante).  Entonces se muestra el
              indicador PS3 y se lee una línea desde la entrada estándar.  Si la  línea  consiste
              en  un número correspondiente a una de las palabras mostradas, entonces el valor de
              nombre se pone a esa palabra. Si la línea está vacía, las palabras y  el  indicador
              se  muestran  de  nuevo.  Si se lee EOF, la orden se completa. Cualquier otro valor
              leída hace que nombre se ponga a un valor vacío. La línea leída  se  guarda  en  la
              variable  REPLY.   La lista se ejecuta tras cada selección hasta que se ejecute una
              orden break.  El estado de salida de select es el de la última orden  ejecutada  en
              lista, o cero si no se ha ejecutado ninguna orden.

       case palabra in [ [(] patrón [ | patrón ] ... ) lista ;; ] ... esac
              Una orden case expandirá primero palabra y buscará si concuerda con cada uno de los
              patrones  en  base  a  las  reglas  de  concordancia  descritas  más  adelante   en
              Concordancia.  La  palabra  se expandirá empleando expansión de tilde, expansión de
              parámetros y variables, expansión aritmética, sustitución de órdenes, susotución de
              procesos  y  eliminación  de  comillas.  Cada patrón examinado se expande empleando
              expansión de tilde, expansión de  parámetros  y  variables,  expansión  aritmética,
              sustitución  de  órdenes  y  sustitución  de  procesos.  Si  está  activa la opción
              nocasematch, se buscará la concordancia se buscará sin distinguir entre  mayúsculas
              y  minúsculas.  Cada  vez  que  se  encuentre  una  concordancia,  se  ejecutará la
              correspondiente lista. Si  se  emplea  el  operador  ;;,  una  vez  encontrada  una
              concordancia,  no  se  seguirán  buscando  más.  Si se emplea ;& en lugar de ;;, la
              ejecución continuará con la lista asociada con el siguiente conjunto  de  patrones.
              Si  se utiliza ;;& en lugar de ;; hará que la shell pruebe el siguiente conjunto de
              patrones, si lo hubiese, ejecutando las listas de una concordancia,  siguiendo  con
              la ejecución de la estructura 'case' como si no hubiese habido concordancia alguna.
              El valor de salidaserá cero si ningún existen concordancias con ningún  patrón.  En
              cualquier  otro  caso,  será  el estado de salida correspondiente a la última orden
              ejecutada en lista.

       if lista; then lista; [ elif lista; then lista; ] ... [ else lista; ] fi
              La lista if se ejecuta. Si su estado de salida es cero, se ejecuta la  lista  then.
              De  otro  modo,  se  ejecuta por turno cada lista elif, y si su estado de salida es
              cero, se ejecuta la lista then correspondiente y la orden se completa.  Si  no,  se
              ejecuta  la  lista  then  si  está presente. El estado de salida es el de la última
              orden ejecutada, o cero si ninguna condición fue verdadera.

       while lista-1; do lista-2; done
       until lista-1; do lista-2; done
              La orden while ejecuta continuamente la lista lista-2 siempre que la  última  orden
              de  lista-1  devuelva  un  estado  de  salida cero. La orden until es idéntica a la
              while, salvo que la comprobación es a la inversa: la lista-2  se  ejecuta  mientras
              que  la  última orden en lista-1 devuelva un estado de salida distinto de cero.  El
              estado de salida de las órdenes while y until es  el  de  la  última  orden  de  la
              lista-2 ejecutada, o cero si no se ejecutó ninguna orden.

   Coprocesos
       Un  coproceso  es  una  orden  de  la  shell  precedida de la palabra reservada coproc. Un
       coproceso se ejecuta de modo asíncrono en una subshell, de igual  modo  que  si  la  orden
       fuese seguida del operador de control &, con una tubería bidireccional entre la shell y el
       coproceso.

       El formato general de un coproceso es el siguiente:

              coproc [NOMBRE] orden [redirecciones]

       Esto creará un coproceso llamado NOMBRE. Si no se indica ningún NOMBRE, se asignará COPROC
       por  defecto.  No  debe  darse  este  NOMBRE si la orden es una orden simple (consulte más
       adelante) sino se interpretará como la primera  parte  de  esa  orden  simple.  Cuando  se
       ejecuta  el  coproceso,  la  shell  crea  una  variable  vectorial  (conculte Vectores más
       adelante) llamada NOMBRE en el contexto de la shell que la ejecuta. La salida estándar  de
       la  orden  se  conecta  mediante una tubería a un descriptor de archivo de la shell que la
       ejecuta. Este descriptor se asigna a NAME[1]. Esta tubería se define  antes  de  cualquier
       redirección  definida por la orden (consulte REDIRECCIONES más adelante). Los descriptores
       de archivo pueden emplearse como argumentos en las órdenes de la shell y en  redirecciones
       mediante  expansiones de palabra. En las subshells solo estarán disponible descriptores de
       archivo que fueron creados para ejecutar órdenes y sustituciones de procesos.  El  ID  del
       proceso  de  la  shell  creada  para  ejecutar  el  coproceso  es  el valor de la variable
       NOMBRE_PID. Puede emplearse la orden nativa wait para esperar a que el coproceso finalice.

       Como el coproceso se creó como una orden asíncrona, la  orden  coproc  siempre  tiene  una
       valor de salida de éxito. El valor de salida de un coproceso es el de orden.

   Definición de Funciones de la Shell
       Una función de la shell es un objeto que se invoca de igual manera que las órdenes simples
       y pero ejecutan una orden compuesta con un conjunto propio de parámetros posicionales. Las
       funciones de la shell se declaran del siguiente modo:

       nombre_función () orden_incluida [redirección]
       function nombrefunción [()] orden-compuesta [redirección]
              Define  una función llama nombrefunción. La palabra reservada function es opcional,
              si se indica pueden omitirse los paréntesis. El cuerpo de la función será la  orden
              compuesta  (consulte  Órdenes  Compuestas más atrás). Esta orden suele consistir en
              una lista de órdenes entre { y }, pero puede ser cualquier orden  que  figure  bajo
              Órdenes  Compuestas  con  una  única  excepción:  si se emplea la palabra reservada
              function sin paréntesis, son necesarias las llaves.  orden-compuesta  se  ejecutará
              siempre  y  cuando nombrefunción se especifique como el nombre de una orden simple.
              Si estamos en modo posix, nombrefunción deberá ser un nombre de shell válido  y  no
              podrá  ser  una  de  las  órdenes  nativas  de POSIX. En el modo por defecto, podrá
              emplearse cualquier palabra de la  shell  sin  entrecomillar  como  nombre  de  una
              función  (simpre  que  no  contenga  $. Cualquier redirección que se haga cuando se
              define una función se llevará a cabo cuando se ejecute la  función.  El  estado  de
              salida  al  definir  una  función  será  cero  salvo  que se incurra en un error de
              sintaxis o ya exista una función de sólo-lectura con el mismo nombre. El estado  de
              salida  de  la  ejecución  de  una  función  viene  dado  por el de la última orden
              ejecutada. Consulte FUNCIONES más adelante.

COMENTARIOS

       En una shell no interactiva, o en una interactiva en el que la opción interactive_comments
       de  la orden nativa shopt está activa (consulte ÓRDENES NATIVAS DE LA SHELL más adelante),
       una palabra que empiece por # hace que esa palabra y todos los caracteres  que  queden  en
       esa   línea   no   sean   tenidos   en   cuenta.  Una  shell  interactiva  sin  la  opción
       interactive_comments habilitada, no admite  comentarios.  La  opción  interactive_comments
       está activa por defecto en shells interactivas.

ENTRECOMILLADO

       El  entrecomillado  se emplea para quitar el significado especial para la shell de ciertos
       metacaracteres o palabras. Puede emplearse para que no se traten caracteres especiales  de
       forma especial, para que palabras reservadas no sean reconocidas como tales, y para evitar
       la expansión de parámetros.

       Cada uno de los metacaracteres listados a continuación bajo el epígrafe DEFINICIONES tiene
       un  significado especial para la shell y deben ser protegidos o entrecomillados si quieren
       referirse a sí mismos.

       Cuando se utilizan  la  funciones  de  expansión  de  historial  (consulte  EXPANSIÓN  DEL
       HISTORIAL  a  continuación),  tiene  que  entrecomillarse  el  carácter  de  expansión del
       historial, generalmente ! si se desea evitar dicha expansión.

       Existen tres métodos de entrecomillado: El carácter de escape, comillas simples y comillas
       dobles.

       Una  barra  inclinada inversa no entrecomillada (\) es el carácter de escape.  Preserva el
       valor literal del siguiente carácter que lo acompaña, con la excepción  de  <nueva-línea>.
       Si  aparece  un par \<nueva-línea> y la barra invertida no está ella misma entre comillas,
       el \<nueva-línea> se trata como una continuación de línea (esto es, se quita del flujo  de
       entrada y no se tiene efectivamente en cuenta).

       Encerrar  caracteres entre apóstrofos preserva el valor literal de cada carácter entre las
       comillas. Una comilla simple no puede estar entre comillas simples, ni siquiera  precedida
       de una barra invertida.

       Encerrar  caracteres  entre  comillas  dobles  preserva  el  valor  literal  de  todos los
       caracteres de dentro de las comillas, con la excepción de $, `, y \,  si  está  activa  la
       expansión  del  historial,  también  !.  Cuando la shell está en modo posix, ! no tiene un
       significado especial si va entre dobles comillas  aunque  esté  activa  la  expansión  del
       historial.  Los  caracteres $ y ` mantienen sus significados especiales dentro de comillas
       dobles. La barra invertida mantiene su significado especial solamente cuando está  seguida
       por  uno  de  los  siguientes caracteres: $, `, "", \, o <nueva-línea>.  Una comilla doble
       puede ser entrecomillada entre otras comillas dobles precediéndola de una barra invertida.
       Si  está  activa,  la  expansión  del historial se realizará salvo que un ! entre comillas
       dobles se escape con una barra invertida. No se elimina la barra invertida si precede a !.

       Los parámetros especiales * y @ tienen un significado especial cuando están entre comillas
       dobles (consulte PARÁMETROS más adelante).

       Las  palabras  de  la forma $'cadena' se tratan de forma especial. La palabra se expanda a
       cadena, con los caracteres protegidos par barra invertida reemplazados según especifica el
       estándar  ANSI/ISO de C. Las secuencias de escape con barra invertida, si están presentes,
       se descodifican como sigue:
              \a     alerta (pitido)
              \b     espacio-atrás
              \e
              \E     un carácter de escape (ESC)
              \f     nueva página
              \n     nueva linea
              \r     retorno de carro
              \t     tabulación horizontal
              \v     tabulación vertical
              \\     barra invertida
              \'     comillas simples
              \"     comillas dobles
              \?     signo de interrogación
              \nnn   el carácter de 8-bits cuyo código es el valor  octal  nnn  (de  uno  a  tres
                     dígitos octales)
              \xHH   el  carácter  de  8-bits  cuyo  código es el valor hexadecimal HH (uno o dos
                     dígitos hexadecimales)
              \uHHHH caŕácter Unicode (ISO/IEC 10646) cuyo valor hexadecimal es HHHH  (de  uno  a
                     cuatro caracteres hexadecimales)
              \UHHHHHHHH
                     caŕácter  Unicode (ISO/IEC 10646) cuyo valor hexadecimal es HHHHHHHH (de uno
                     a ocho caracteres hexadecimales)
              \cx    un carácter de control -x

       El resultado de la expansión es entrecomillado con comillas simples, como si el  signo  de
       dólar no hubiera estado presente.

       Una  cadena  entre comillas dobles precedida por un signo de dólar ($"string") hará que la
       cadena se traduzca según la localización actual. La infraestructura de gettext  buscar  su
       traducción  en  el  catñalogo de mensajes mediante las variables de la shell LC_MESSAGES y
       TEXTDOMAIN. Si la localización actual es C o POSIX, el signo  de  dólar  no  se  tiene  en
       cuenta.   Si  la  cadena se traduce y reemplaza, el reemplazo se entrecomilla con comillas
       dobles.

PARÁMETROS

       Un parámetro es una entidad que almacena valores. Puede ser un nombre, un número, o uno de
       los  caracteres especiales listados a continuación bajo el epígrafe Parámetros especiales.
       Una variable es un parámetro que se denota mediante un nombre, puede  tener  un  valor  de
       cero  o  más  atributos.  Dichos  atributos  se  asigna  mediante  la orden nativa declare
       (consulte declare más adelante en la sección ÓRDENES NATIVAS DE LA SHELL).

       Un parámetro está definido si se le ha asignado un valor. La  cadena  vacía  es  un  valor
       válido.  Una  vez  que  una  variable  está  definida,  solo puede quitarse de la lista de
       variables mediante la orden nativa  unset  (consulte  ÓRDENES  NATIVAS  DE  LA  SHELL  más
       adelante).

       A una variable se le puede asignar un valor mediante una sentencia de la forma

              nombre=[valor]

       Si  no  se  da  el valor, a la variable se asigna la cadena vacía. Todos los valores están
       sujetos a expansión de tilde, de  parámetros  y  de  variables,  sustitución  de  órdenes,
       expansión  aritmética,  y eliminación de comillas (consulte EXPANSIÓN más adelante). Si la
       variable tiene activado su atributo integer entonces valor se evaluará como una  expresión
       aritmética  incluso  si  no se emplea la expansión $((...)) (consulte Expansión aritmética
       más adelante).  No se realiza la división de palabras, con la excepción de  "$@"  como  se
       explica  más  adelante bajo el epígrafe Parámetros especiales.  La expansión de nombres de
       ruta tampoco se efectúa. Las asignaciones también pueden figurar como  argumentos  de  las
       órdenes   nativas   alias,   declare,  typeset,  export,  readonly  y  local  (órdenes  de
       declaración). En modo posix estas órdenes nativas puede aparecer en una orden  después  de
       una o más instancias de la orden nativa y mantener las propiedades de la asignación.

       En  el  contexto en el que una declaración de asignación asigna un valor a una variable de
       la shell o índice vectorial, el operador += puede emplearse para agregar o incluir  en  el
       valor  anterior  de la variable. Esto incluye argumentos para órdenes nativas como declare
       que acepten declaraciones de asignación (órdenes de declaración). Cuando se  aplica  +=  a
       una  variable  que  se definido como número entero (integer), su valor se calcula como una
       expresión aritmética y se suma al valor actual de la variable,  que  también  se  calcula.
       Cuando  +=  se  aplica  a  una  variable vectorial mediante asignación compuesta (consulte
       Vectores a continuación), el valor de la variable no se anula (como sucede cuando  se  usa
       =),  y  los nuevos valores se agregan al vector a partir de uno mayor que el índice máximo
       del mismo (caso de vectores indexados) o agregados como pares clave-valor  adicionales  si
       es  un  array asociativo. Cuando se aplica a una variable con valor de cadena, el valor se
       expande y se agrega al valor de la variable.

       A una variable se le puede asignar el atributo  nameref  ejecutando  las  órdenes  nativas
       declare  o  local  con  la  opción  -n  (consulte  las  descripciones de declare y local a
       continuación) para crear un nameref, o una referencia a otra variable.  Esto  permite  que
       las  variables  sean  manipuladas de forma indirecta. Cada vez que se hace referencia a la
       variable nameref, se asigna, se anula o se modifican sus atributos (no usando o  cambiando
       el  atributo  nameref  en sí), la operación se realizará sobre la variable definida por el
       valor de la variable nameref. Una referencia de nombre (nameref) suele  usarse  dentro  de
       las  funciones de shell para referirse a una variable cuyo nombre se pasa como argumento a
       la función. Por ejemplo, si se pasa un nombre de variable a una función de shell  como  su
       primer argumento, ejecutando
              declare -n ref=$1
       dentro  de  la  función  se creará una variable ref cuyo valor es el nombre de la variable
       pasado como primer argumento. Las referencias y asignaciones a ref, y los cambios  en  sus
       atributos,  se  tratan  como  referencias, asignaciones y modificaciones de atributos a la
       variable cuyo nombre se pasó como $1. Si la variable de control en un bucle for  tiene  el
       atributo  nameref,  la  lista  de palabras puede ser una lista de variables de shell, y se
       establecerá una referencia de nombre para cada palabra  en  la  lista,  cada  vez  que  se
       ejecute el ciclo. A las variables vectoriales no se les puede asignar el atributo nameref.
       Sin embargo, las variables nameref pueden  hacer  referencia  a  variables  vectoriales  y
       variables  vectoriales  con  subíndice.  Las  referencias  de  nombre se pueden desactivar
       mediante la opción -n en la orden nativa unset. De lo contrario, si se ejecuta  unset  con
       el  nombre de una variable nameref como argumento, la variable a la que hace referencia se
       desactivará.

   Parámetros Posicionales
       Un parámetro posicional es un parámetro denotado por uno  o  más  dígitos,  distintos  del
       simple  0.  Los  parámetros posicionales se asignan a partir de los argumentos de la shell
       cuando éste es llamado, y pueden ser  reasignados  mediante  la  orden  nativa  set.   Los
       parámetros  posicionales  no  pueden  ser  asignados  con  sentencias  de  asignación. Los
       parámetros posicionales se reemplazan temporalmente cuando se ejecuta una  función  de  la
       shell (consulte FUNCIONES más adelente).

       Cuando  un  parámetro  posicional  consistente  en  más de un solo dígito se expande, debe
       rodearse por llaves (consulte EXPANSIÓN más adelante).

   Parámetros Especiales
       la shell trata de forma especial a ciertos parámetros. Éstos solo pueden referenciarse; no
       se permite asignarles nada.
       *      Se  expande  a los parámetros posicionales, empezando por 1. Cuando la expansión no
              ocurre entre comillas dobles, cada parámetro posicional se expande  a  una  palabra
              separada.  En los contextos en los que se realiza, estas palabras pueden ser objeto
              de separación y de expansión del nombre de ruta.  Cuando  dicha  expansión  ocurren
              dentro  de un entrecomillado doble, ésta se expande a una sola palabra con el valor
              de cada parámetro separado por el primer carácter de la variable especial IFS. Esto
              es,  "$*"  es equivalente a "$1c$2c...", donde c es el primer carácter del valor de
              la variable IFS. Si IFS no está definida, los parámetros se separan  por  espacios.
              Si IFS es la cadena vacía, los parámetros se juntan sin ningún separador.
       @      Se  expande  a  los  parámetros  posicionales, comenzando desde el uno. En donde se
              realiza la división de palabras, se expande cada parámetro posicional a una palabra
              separada;  si  no  están entrecomillada con comillas dobles, estas palabras estarán
              sujetas a división de palabra. Donde no se  realiza  la  división  de  palabra,  se
              expande  a  una sola palabra con cada parámetro posicional separado por un espacio.
              Cuando la expansión ocurre entre comillas dobles, cada parámetro se expande  a  una
              palabra  separada.  Es  decir,  "$@"  es equivalente a '$1' '$2'... Si la expansión
              entre comillas dobles ocurre  dentro  de  una  palabra,  la  expansión  del  primer
              parámetro  se  une  con  la parte inicial de la palabra original y la expansión del
              último parámetro se une con la última parte de la palabra original. Cuando  no  hay
              parámetros posicionales, '$@'y $@ se eliminan (se expande a 'nada').
       #      Se expande al número en base 10 de parámetros posicionales.
       ?      Se  expande al estado de salida de la tubería más recientemente ejecutada en primer
              plano.
       -      Se expande  a  las  opciones  de  la  shell  activas  actualmente  según  se  hayan
              especificado  en la llamada, mediante la orden nativa set, o las que haya puesto el
              mismo shell (como la opción -i).
       $      Se expande al PID de la shell. En un subshell (), se expande al  PID  de  la  shell
              actual, no al del subshell.
       !      Se expande al PID del proceso más recientemente ejecutado en segundo plano ya fuese
              ejecutado como una orden asíncrona o mediante la orden nativa bg. Consulte  CONTROL
              DE TAREAS más adelante.
       0      Se expande al nombre de la shell o script de la shell. Este parámetro se pone en el
              inicio de la shell. Si bash se llama con un fichero  de  órdenes,  $0  se  pone  al
              nombre  de ese fichero. Si bash se arranca con la opción -c, entonces $0 se pone al
              primer argumento tras la cadena que se va a ejecutar, si hay  alguno  presente.  Si
              no,  se  pone  al  nombre  de fichero empleado para llamar a bash, como se da en el
              argumento cero.

   Variables de la Shell
       la shell define automáticamente las siguientes variables:

       _      Al inicio de la shell, adopta el valor de la ruta con la que se inició dicha  shell
              o  el script que se ejecute tal como se indicó en el entorno en los argumentos. Por
              lo tanto se expandirá al último argumento de la anterior orden ejecutada en  primer
              plano después de la expansión. También adopta el valor de la ruta completa empleada
              para invocar cada orden ejecutada, se pone en el entorno exportado para esa  orden.
              En  el  caso de la lectura de correo electrónico, esta variable adopta el valor del
              nombre del archivo de correo leído en cada instante.
       BASH   Se expande al nombre completo del fichero empleado para llamar a esta instancia  de
              bash.
       BASHOPTS
              Una  lista, de elementos separados por dos puntos, de opciones activas de la shell.
              Cada palabra en la lista es un argumento válido para  la  opción  -s  de  la  orden
              nativa  shopt (consulte ÓRDENES NATIVAS DE LA SHELL más adelante). Las opciones que
              aparecen en BASHOPTS son aquéllas que aparecen como on en shopt.  Si esta  variable
              está  en  el  entorno cuando se inicia bash, cada opción de la shell en la lista se
              activará antes de cargar cualquier archivo de inicio.   Es  una  variable  de  solo
              lectura.
       BASHPID
              Se  expande  al  ID del proceso en ejecución de bash. Esto difiere de $$ en ciertos
              casos, como las subshells que no requieren una  reinicialización  de  bash.  No  se
              consideran  las  asignaciones  de BASHPID. Si se anula el valor definido a BASHPID,
              ésta pierde sus propiedades especiales aunque se vuelva a definir posteriormente.
       BASH_ALIASES
              Una variable vectorial asociativa cuyos miembros pertenecen a la lista  interna  de
              alias  tal  como  la gestiona la orden nativa alias. Los elementos agregados a este
              vector aparecen en la lista de los alias; sin  embargo,  desactivar  elementos  del
              vector  no  hará  que  los  alias  se  eliminen  de  dicha  lista.  Si se desactiva
              BASH_ALIASES,  perderá  sus  propiedades  especiales,  incluso   si   se   reactiva
              posteriormente.
       BASH_ARGC
              Una variable vectorial formada por el número de parámetros en cada marco de la pila
              de llamadas de la actual ejecución de bash. El número de parámetros de la subrutina
              actual  (función  o script ejecutado mediante .  o source) se encuentra en la parte
              superior de la pila. Cuando se ejecuta una subrutina, se envian  los  parámetros  a
              BASH_ARGC.  La  shell  activa  BASH_ARGC  solo  cuando  está  en modo de depuración
              ampliado (consulte más adelante la descripción de la opción extdebug  de  la  orden
              nativa  shopt).  La  activación  de  extdebug después de iniciar la ejecución de un
              script, o hacer referencia a esta variable cuando no se ha configurado,  puede  dar
              lugar a resultados inconsistentes.
       BASH_ARGV
              Una  variable vectorial que contiene todos los parámetros de la pila de llamadas de
              la ejecución actual de bash. El parámetro final de la última llamada a la subrutina
              está  en  la  parte  superior de la pila; el primer parámetro de la llamada inicial
              está en la  parte  inferior.  Cuando  se  ejecuta  una  subrutina,  los  parámetros
              proporcionados se envían a BASH_ARGV. La shell activa BASH_ARGV solo cuando está en
              modo de depuración ampliado (consulte a continuación la descripción  de  la  opción
              extdebug  de  la  orden  nativa  shopt).  Activar extdebug después del inicio de la
              ejecución de un script, o hacer referencia a él cuando no se ha configurado,  puede
              generar valores inconsistentes.
       BASH_ARGV0
              When  referenced,  this  variable  expands to the name of the shell or shell script
              (identical to $0; see the description of special parameter 0 above).  Assignment to
              BASH_ARGV0  causes  the value assigned to also be assigned to $0.  If BASH_ARGV0 is
              unset, it loses its special properties, even if it is subsequently reset.
       BASH_CMDS
              An associative array variable whose members correspond to the internal  hash  table
              of commands as maintained by the hash builtin.  Elements added to this array appear
              in the hash table; however, unsetting  array  elements  currently  does  not  cause
              command  names  to be removed from the hash table.  If BASH_CMDS is unset, it loses
              its special properties, even if it is subsequently reset.
       BASH_COMMAND
              La orden que está siendo ejecutada en ese instante o que va a serlo, excepto cuando
              se  ejecute  una  orden marcada en una tramp (trap) e cuyo caso equivaldría a dicha
              orden. Si se anula la definición de BASH_COMMAND, pierde sus propiedades especiales
              aunque se vuelva a definir con posterioridad.
       BASH_EXECUTION_STRING
              La orden dada como argumento al ejecutar con la opción -c.
       BASH_LINENO
              An  array  variable  whose  members are the line numbers in source files where each
              corresponding member of FUNCNAME  was  invoked.   ${BASH_LINENO[$i]}  is  the  line
              number  in  the source file (${BASH_SOURCE[$i+1]}) where ${FUNCNAME[$i]} was called
              (or ${BASH_LINENO[$i-1]} if referenced within another shell function).  Use  LINENO
              to obtain the current line number.
       BASH_LOADABLES_PATH
              Lista  de directorios separados entre si po dos puntos en los cuales la shell busca
              órdenes nativas cargables dinámicamente definidas por la orden enable.
       BASH_REMATCH
              An array variable whose members are assigned by the =~ binary operator  to  the  [[
              conditional  command.   The  element  with  index  0  is  the portion of the string
              matching the entire regular expression.  The element with index n is the portion of
              the string matching the nth parenthesized subexpression.
       BASH_SOURCE
              An  array  variable  whose members are the source filenames where the corresponding
              shell function names in  the  FUNCNAME  array  variable  are  defined.   The  shell
              function  ${FUNCNAME[$i]} is defined in the file ${BASH_SOURCE[$i]} and called from
              ${BASH_SOURCE[$i+1]}.
       BASH_SUBSHELL
              Se incrementa en una unidad dentro de cada subshell  o  cada  entorno  de  subshell
              cuando  la  shell  se  incia  en  él.  El  valor  inicial  es  0.  Si  se desactiva
              BASH_SUBSHELL, ésta perderá su propiedades especiales  aunque  luego  se  vuelva  a
              definir.
       BASH_VERSINFO
              Una  variable  vector  de lectura exclusiva cuyos miembros contienen información de
              versión para esta instancia de bash.  Los valores  asignados  a  los  miembros  del
              vector son como sigue:
              BASH_VERSINFO[0]        El número mayor de versión (la distribución).
              BASH_VERSINFO[1]        El número menor de versión (la versión).
              BASH_VERSINFO[2]        El nivel de parcheo.
              BASH_VERSINFO[3]        La versión de construcción.
              BASH_VERSINFO[4]        El estado de la distribución (por ejemplo, beta1).
              BASH_VERSINFO[5]        El valor de MACHTYPE.
       BASH_VERSION
              Se expande a una cadena que describe la versión de esta instancia de bash.
       COMP_CWORD
              Índice  en  ${COMP_WORDS} de la palabra que contiene la posición actual del cursos.
              Esta variable solo está disponible en las funciones de la shell invocadas  por  las
              utilidades de autocompletado. Consulte Autocompletado Programable a continuación.
       COMP_KEY
              La  calve  (o  última  clave  de  una secuencia de claves) empleada para invocar la
              actual función de autocompletado.
       COMP_LINE
              Línea de órdenes actual. Esta variable solo estará disponible para las funciones de
              la  shell  y  órdenes  externas  invocadas  por  las  utilidades  de autocompletado
              programable. Consulte Autocompletado Programable a continuación.
       COMP_POINT
              The index of the current cursor position relative to the beginning of  the  current
              command.   If the current cursor position is at the end of the current command, the
              value of this variable is equal to ${#COMP_LINE}.  This variable is available  only
              in  shell  functions  and  external commands invoked by the programmable completion
              facilities (see Programmable Completion below).
       COMP_TYPE
              Set to an integer value corresponding to the  type  of  completion  attempted  that
              caused  a  completion  function  to  be  called: TAB, for normal completion, ?, for
              listing completions after successive tabs, !, for listing alternatives  on  partial
              word  completion,  @,  to list completions if the word is not unmodified, or %, for
              menu completion.  This variable is available only in shell functions  and  external
              commands  invoked  by  the  programmable  completion  facilities  (see Programmable
              Completion below).
       COMP_WORDBREAKS
              Conjunto de caracteres que la librería readline considera separadores  de  palabras
              durante   el   autocompletado.   Si   se  desactiva  COMP_WORDBREAKS,  perderá  sus
              características especiales aunque se reactive de nuevo.
       COMP_WORDS
              Una variable vectorial (consulte Vectores más  adelante)  que  consta  de  palabras
              individuales  en la actual línea de órdenes. La línea se divide en palabras como lo
              haría readline, usando COMP_WORDBREAKS tal como  se  describe  anteriormente.  Esta
              variable  está  disponible  solo  en  las  funciones de la shell invocadas mediante
              autocompletado (consulte Autocompletado Progamable a continuación).
       COPROC Variable vectorial (consulte  Vectores  más  adelante)  creada  para  contener  los
              descriptores  de  archivo  de  entrada/salida  de un coproceso cualquiera (consulte
              Coprocesos anteriormente.
       DIRSTACK
              Una variable vector (consulte Vectores  más  adelante)  que  aloja  los  contenidos
              actuales de la pila de directorios. Los directorios aparecen en la pila en el orden
              en el que se muestran con la orden nativa dirs.  La asignación a miembros  de  este
              vector  puede  emplearse  para  modificar directorios que ya estén en la pila, pero
              entonces deben utilizarse las órdenes nativas pushd y popd  para  añadir  y  quitar
              directorios.   La  asignación a esta variable no cambiará el directorio de trabajo.
              Si DIRSTACK no  está  definido,  pierde  sus  propiedades  especiales,  incluso  si
              posteriormente es redefinido.
       EPOCHREALTIME
              Este  parámetro  se  sustituirá  por  una  cifra  de coma flotante con el número de
              segundos  desde  el  Inicio  (Epoch)  de  Unix  (consulte   time(3))   medidos   en
              microsegundos.  No  se  tienen  en  cuenta  las  asignaciones  a  EPOCHREALTIME. Si
              EPOCHREALTIME no está definido,  pierde  sus  propiedades  especiales,  incluso  si
              posteriormente es redefinido.
       EPOCHSECONDS
              Cada  vez  que  este  parámetro  es  referenciado,  se  devuelve en él el número de
              segundos transcurridos desde el Inicio (Epoch) de Unix (consulte  time(3)).  No  se
              tendrá  en cuenta ninguna asignación de un valor a EPOCHSECONDS. Si EPOCHSECONDS no
              está definido, pierde sus propiedades  especiales,  incluso  si  posteriormente  es
              redefinido.
       EUID   Se expande al UID efectivo del usuario actual, puesta en el incio de la shell. Esta
              variable es de solo lectura.
       FUNCNAME
              Una matriz variable que contiene todas las funciones de la shell que  están  en  la
              pila  de  ejecución  en  ese  instante.  El  elemento  con índice 0 es el nombre de
              cualquier función de la shell que se esté ejecutando. El último elemento (aquel con
              el  índice  más  elevado)  es  "main".   Esta  variable  solo existe cuando se está
              ejecutando un función de la shell. No se tendrá en cuenta ninguna asignación  en  a
              FUNCNAMES.  Si  FUNCNAMES  no  está  definido,  pierde  sus propiedades especiales,
              incluso si posteriormente es redefinido.

              Esta variable puede emplearse con BASH_LINENO y con BASH_SOURCE. Cada  elemento  de
              FUNCNAME  se  corresponde  con otros en BASH_LINENO y BASH_SOURCE para describir la
              pila  de  llamadas.  Por  ejemplo:  ${FUNCNAME[$i]}  se  invoca  desde  el  archivo
              ${BASH_SOURCE[$i+1]}  en  el número de línea ${BASH_LINENO[$i]}. La función interna
              caller muestra la invocación actual en base a esta información.
       GROUPS Una matriz variable que contiene la lista de grupos a los que pertenece el  usuario
              actual.  No  se  tendrá en cuenta ninguna asignación en a GROUPS. Si GROUPS no está
              definido,  pierde  sus  propiedades  especiales,  incluso  si   posteriormente   es
              redefinido.
       HISTCMD
              El  número  de  historial  o  índice  en  el  historial  de  la orden actual. No se
              consideran asignaciones  a  HISTCMD.  Si  HISTCMD  no  está  definido,  pierde  sus
              propiedades especiales, incluso si posteriormente es redefinido.
       HOSTNAME
              Asignados automáticamente al nombre del anfitrión (equipo) actual.
       HOSTTYPE
              Asignado  automáticamente  a  una  cadena  que describe de forma unívoca el tipo de
              máquina en la que bash se  está  ejecutando.   El  valor  predefinido  depende  del
              sistema.
       LINENO Cada  vez  que este parámetro es referenciado, la shell sustituye un número en base
              10 representando el número de línea secuencial actual (empezando por 1)  dentro  de
              un  script  o función. Si no estamos en un script o función, no se garantiza que el
              valor sustituido tenga  significado.   Si  LINENO  no  está  definido,  pierde  sus
              propiedades especiales, incluso si posteriormente es redefinido.
       MACHTYPE
              Asignado automáticamente a una cadena que describe completamente el tipo de sistema
              en  el  que  bash  se  está   ejecutando,   en   el   formato   estándar   de   GNU
              cpu-compañía-sistema.  El valor predefinido depende del sistema.
       MAPFILE
              Una matriz variable (consulte Matrices a continuación) creada para incluir el texto
              captado por la orden nativa mapfile cuando no se indica ningún nombre de variable.
       OLDPWD El directorio de trabajo anterior como lo puso la orden cd.
       OPTARG El valor del último argumento que es una  opción  procesado  por  la  orden  nativa
              getopts (consulte ÓRDENES NATIVAS DE LA SHELL a continuación).
       OPTIND El  índice  del  siguiente  argumento  a  ser procesado por la orden nativa getopts
              (consulte ÓRDENES NATIVAS DE LA SHELL más adelante).
       OSTYPE Asignado automáticamente a una cadena que describe el sistema operativo en  el  que
              bash se está ejecutando.  El valor predefinido depende del sistema.
       PIPESTATUS
              Una  variable  vector  (consulte  Vectores  más adelante) que contiene una lista de
              valores de estado de salida de los procesos en la tubería en primer plano ejecutada
              más recientemente (que puede contener una sola orden).
       PPID   El PID del proceso padre de la shell. Esta variable es de lectura exclusiva.
       PWD    El directorio de trabajo actual como lo pone la orden cd.
       RANDOM Cada vez que este parámetro sea referenciado, se genera un entero aleatorio entre 0
              y 32767. Si se asigna un valor a RANDOM se inicia (se 'siembra')  la  secuencia  de
              números  aleatorios. Si RANDOM no está definido, pierde sus propiedades especiales,
              incluso si posteriormente es redefinido.
       READLINE_LINE
              Contenido del buffer de línea de readline, para emplear  con  "bind  -x"  (consulte
              ÓRDENES NATIVAS DE LA SHELL a continuación).
       READLINE_MARK
              The  position  of the mark (saved insertion point) in the readline line buffer, for
              use with "bind -x" (see SHELL BUILTIN COMMANDS below).  The characters between  the
              insertion point and the mark are often called the region.
       READLINE_POINT
              The position of the insertion point in the readline line buffer, for use with "bind
              -x" (consulte ÓRDENES NATIVAS DE LA SHELL a continuación).
       REPLY  La línea de entrada leída por la orden nativa read cuando no se le dan argumentos.
       SECONDS
              Each time  this  parameter  is  referenced,  the  number  of  seconds  since  shell
              invocation is returned.  If a value is assigned to SECONDS, the value returned upon
              subsequent references is the number of seconds since the assignment plus the  value
              assigned.  The number of seconds at shell invocation and the current time is always
              determined by querying the system clock.  If SECONDS is unset, it loses its special
              properties, even if it is subsequently reset.
       SHELLOPTS
              Una  lista,  de  elementos separados por dos puntos, de opciones activas del shell.
              Cada palabra en la lista es un argumento válido para  la  opción  -o  de  la  orden
              nativa  set  (consulte  ÓRDENES NATIVAS DE LA SHELL más adelante). Las opciones que
              aparecen en SHELLOPTS son aquéllas que  aparecen  como  on  en  set  -o.   Si  esta
              variable  está  en  el  ambiente cuando bash empieza, cada opción de la shell en la
              lista se activará antes de leer cualquier archivo de inicio.  Esta variable  es  de
              lectura exclusiva.
       SHLVL  Se incrementa en uno cada vez que se arranca una nueva instancia de bash.
       SRANDOM
              Esta  variable se expande en un número pseudo-aleatorios de 32-bits cada vez que es
              referenciada. El generador de números aleatorios no es lineal en los  sistemas  con
              soporte  para  /dev/urandom  o arc4random por lo que cada número generado no tendrá
              ninguna relación con los anteriores. No es posible 'sembrar' el  generador  por  lo
              que  no  tendrán ningún efecto las asignaciones a esta variable. Si SRANDOM no está
              definido, pierde todas sus propiedades aunque se redefina posteriormente.
       UID    Se expande al UID del usuario en curso, puesta en  el  inicio  de  la  shell.  Esta
              variable es de solo lectura.

       la  shell  hace  uso  de  las siguientes variables. En algunos casos, bash asigna un valor
       predeterminado a una variable; estos casos se indican a continuación.

       BASH_COMPAT
              The value is used to set the shell's compatibility level.  See SHELL  COMPATIBILITY
              MODE below for a description of the various compatibility levels and their effects.
              The  value  may  be  a  decimal  number  (e.g.,  4.2)  or  an  integer  (e.g.,  42)
              corresponding  to  the desired compatibility level.  If BASH_COMPAT is unset or set
              to the empty string, the compatibility level is set to the default for the  current
              version.   If  BASH_COMPAT  is  set  to  a  value  that  is  not  one  of the valid
              compatibility levels, the shell prints an error message and sets the  compatibility
              level  to  the default for the current version.  The valid values correspond to the
              compatibility levels described below under BSHELLCOMPATIBILITYMODE.   For  example,
              4.2  and  42  are valid values that correspond to the compat42 shopt option and set
              the compatibility level to 42.  The current version is also a valid value.
       BASH_ENV
              Si este parámetro está definido cuando bash está ejecutando un script de shell,  su
              valor  se interpreta como un nombre de archivo que contiene órdenes para iniciar la
              shell, como en ~/.bashrc.   El  valor  de  BASH_ENV  está  sujeto  a  expansión  de
              parámetros,   sustitución   de   órdenes  y  expansión  aritmética,  antes  de  ser
              interpretado como un nombre de archivo.  PATH no se usa para buscar  el  nombre  de
              archivo resultante.
       BASH_XTRACEFD
              Si  se  le asigna un número entero cuyo valor coincida con un descriptor de archivo
              válido, bash anotará la salida generada cuando set  -x  is  enabled  to  that  file
              descriptor.   The file descriptor is closed when BASH_XTRACEFD is unset or assigned
              a new value.  Unsetting BASH_XTRACEFD or assigning it the empty string  causes  the
              trace  output to be sent to the standard error.  Note that setting BASH_XTRACEFD to
              2 (the standard error file descriptor) and then unsetting it  will  result  in  the
              standard error being closed.
       CDPATH Ruta  de  búsqueda para la orden cd.  Es una lista de directorios separados por dos
              puntos en los cuales la shell busca directorios destino especificados por la  orden
              cd.  Un valor de muestra es ".:~:/usr".
       CHILD_MAX
              Set  the number of exited child status values for the shell to remember.  Bash will
              not allow this value to be decreased below a POSIX-mandated minimum, and there is a
              maximum  value  (currently  8192)  that  this may not exceed.  The minimum value is
              system-dependent.
       COLUMNS
              Used by the select compound command to determine the terminal width  when  printing
              selection  lists.  Automatically set if the checkwinsize option is enabled or in an
              interactive shell upon receipt of a SIGWINCH.
       COMPREPLY
              An array variable from which bash reads the possible  completions  generated  by  a
              shell  function  invoked  by the programmable completion facility (see Programmable
              Completion below).  Each array element contains one possible completion.
       EMACS  Si bash encuentra esta variable en el entorno cuando se inicia con  el  valor  "t",
              interpretará que se está ejecutando dentro de un buffer de Emacs y deshabilitará la
              edición de línea.
       ENV    Expanded and executed  similarly  to  BASH_ENV  (see  INVOCATION  above)   when  an
              interactive shell is invoked in posix mode.
       EXECIGNORE
              A  colon-separated list of shell patterns (see Pattern Matching)  defining the list
              of filenames to be  ignored  by  command  search  using  PATH.   Files  whose  full
              pathnames  match  one of these patterns are not considered executable files for the
              purposes of completion and command execution via PATH lookup.  This does not affect
              the  behavior  of the [, test, and [[ commands.  Full pathnames in the command hash
              table are not subject to EXECIGNORE.  Use this variable to  ignore  shared  library
              files  that have the executable bit set, but are not executable files.  The pattern
              matching honors the setting of the extglob shell option.
       FCEDIT El editor predeterminado para la orden nativa fc.
       FIGNORE
              Una lista de sufijos separados por dos puntos que no hay que tener en cuenta cuando
              se realice una terminación de nombres de ficheros (consulte READLINE más adelante).
              Un nombre de archivo cuyo sufijo concuerde con una de las entradas  en  FIGNORE  se
              excluye  de  la  lista  de  nombres de archivo a completar.  Un valor de muestra es
              ".o:~" (Es necesario entrecomillar el valor asignado a esta  variable  al  contener
              tildes).
       FUNCNEST
              Si  se  le  asigna un valor mayor de cero, definirá el máximo nivel de anidamiento.
              Las funciones que se invoquen con un nivel mayor provocarán que  se  interrumpa  la
              ejecución de la orden en curso.
       GLOBIGNORE
              Una  lista  de patrones separados por dos puntos que definen en conjunto de nombres
              de ficheros que no hay que tener en cuenta en la expansión de nombres de  ruta.  Si
              un  nombre  de fichero que concordaba en un patrón de expansión de nombres de rutas
              también concuerda con uno de los patrones en GLOBIGNORE, se quita de  la  lista  de
              concordancias.
       HISTCONTROL
              A  colon-separated list of values controlling how commands are saved on the history
              list.  If the list of values includes ignorespace, lines which begin with  a  space
              character  are  not  saved in the history list.  A value of ignoredups causes lines
              matching the previous history entry to not be saved.   A  value  of  ignoreboth  is
              shorthand for ignorespace and ignoredups.  A value of erasedups causes all previous
              lines matching the current line to be removed from the  history  list  before  that
              line  is  saved.   Any  value  not in the above list is ignored.  If HISTCONTROL is
              unset, or does not include a valid value, all lines read by the  shell  parser  are
              saved  on  the  history  list,  subject to the value of HISTIGNORE.  The second and
              subsequent lines of a multi-line compound command are not tested, and are added  to
              the history regardless of the value of HISTCONTROL.
       HISTFILE
              El  nombre  del  fichero  en  el  que  se  guarda el historial de órdenes (consulte
              HISTORIAL más adelante).  El valor predeterminado es ~/.bash_history.  Si  no  está
              definido,  no  se  guarda  el  historial  de  órdenes  cuando se finalice una shell
              interactivo.
       HISTFILESIZE
              El número máximo de líneas contenidas en el historial. Cuando se asigna un valor  a
              esta variable, el historial se trunca, si es menester, para evitar sobrepasar dicho
              número de líneas. El valor predeterminado es 500. El historial se trunca también  a
              este tamaño cuando finaliza una shell interactiva.
       HISTIGNORE
              Una lista de patrones separados por dos puntos empleados para decidir qué líneas de
              órdenes deben guardarse en el historial. Cada patrón se ancla al  principio  de  la
              línea  y  debe  especificar  la  línea completamente (no se añade ningún `*'). Cada
              patrón se comprueba con la línea tras aplicarse  las  comprobaciones  especificadas
              por  HISTCONTROL.  Además de los caracteres normales de concordancia de patrones de
              la shell, `&' concuerda con la línea de historia anterior.   `&'  puede  protegerse
              empleando  una  barra  inversa. Ésta se quita antes de intentarse una concordancia.
              La segunda línea y siguientes de una orden compuesta multi-línea no se  comprueban,
              y  se  añaden a la historia sin importar el valor de HISTIGNORE. La concordancia de
              patrones depende de la configuración de la opción de la shell extglob.
       HISTSIZE
              Cantidad  de  órdenes  que  debe  guardar  el  historial  (Consulte  HISTORIAL  más
              adelante).  Si  el  valor  es  cero,  no  se guardarán las órdenes en el historial.
              Cualquier valor negativo hará que se guarden todas las órdenes sin  límite  alguno.
              Por defecto, la shell guarda 500 órdenes después de leer los archivos de inicio.
       HISTTIMEFORMAT
              If  this  variable  is  set  and not null, its value is used as a format string for
              strftime(3) to print the time stamp associated with each history entry displayed by
              the  history  builtin.   If  this  variable  is set, time stamps are written to the
              history file so they may be preserved across shell sessions.  This uses the history
              comment character to distinguish timestamps from other history lines.
       HOME   El  directorio inicial de trabajo del usuario en curso; el argumento predeterminado
              para la orden nativa cd.  El valor de  esta  variable  se  usa  también  cuando  se
              realiza la expansión de tilde.
       HOSTFILE
              Contiene  el  nombre  de un fichero con el mismo formato que /etc/hosts que debería
              leerse cuando la shell necesite completar un nombre de equipo. El archivo puede ser
              modificado  durante  la  ejecución  de  la  shell;  la siguiente vez que se intente
              completar un nombre de equipo, bash añade el contenido del nuevo archivo a la  base
              de  datos  ya existente. Si está definida la variable HOSTFILE pero no tiene ningún
              valor asignado o tiene asignado el nombre de un archivo que no se puede leer,  bash
              intentará leer /etc/hosts para conseguir la lista de posibles nombres de equipo. Si
              se resetea el valor de HOSTFILE se vacia la lista de nombres de equipo.
       IFS    El Separador Interno de Campo que se emplea para la división de  palabras  tras  la
              expansión  y  para  dividir  líneas en palabras con la orden nativa read.  El valor
              predeterminado es “<espacio><tab><nueva-línea>”.
       IGNOREEOF
              Controla la acción de una shell interactiva al recibir un carácter  EOF  como  sola
              entrada. Si está definido, el valor es el número de caracteres EOF consecutivos que
              deben teclearse como los primeros caracteres de una línea de entrada antes  de  que
              bash  acabe.  Si  la variable existe pero no tiene un valor numérico, o ninguno, el
              valor predeterminado es 10. Si no existe, EOF significa el final de la entrada para
              la shell.
       INPUTRC
              El  nombre  de  fichero  para  el  de inicio de readline, en vez del predeterminado
              ~/.inputrc (consulte READLINE más adelante).
       INSIDE_EMACS
              If this variable appears in the environment when the  shell  starts,  bash  assumes
              that  it  is  running  inside  an  Emacs shell buffer and may disable line editing,
              depending on the value of TERM.
       LANG   Empleado para determinar la categoría de localización ("escenario")  para cualquier
              categoría  no seleccionada específicamente con una variable de las que empiezan por
              LC_.
       LC_ALL Esta variable tiene preferencia sobre el valor de LANG y de cualquier otra variable
              de las que empiecen por LC_ especificando una categoría de localización.
       LC_COLLATE
              Esta  variable  determina  el  orden  de clasificación empleado cuando se ordene el
              resultado de una expansión de nombres de rutas, y determina  el  comportamiento  de
              expresiones  de  intervalo,  clases  de equivalencia, y secuencias de clasificación
              dentro de expansiones de nombres de rutas y concordancia de patrones.
       LC_CTYPE
              Esta variable determina la interpretación de  caracteres  y  el  comportamiento  de
              clases  de  caracteres  dentro de expansiones de nombres de rutas y concordancia de
              patrones.
       LC_MESSAGES
              Esta  variable  determina  la   localización   empleada   para   traducir   cadenas
              entrecomilladas con comillas dobles precedidas por un $.
       LC_NUMERIC
              Esta variable determina la localización empleada para el formato de los números.
       LC_TIME
              Esta variable determina la localización empleada para el formato de fecha y hora.
       LINES  Used  by  the  select  compound command to determine the column length for printing
              selection lists.  Automatically set if the checkwinsize option is enabled or in  an
              interactive shell upon receipt of a SIGWINCH.
       MAIL   Si este parámetro está puesto a un nombre de archivo y la variable MAILPATH no está
              definida, bash informa al usuario de la llegada de correo en el archivo definido  o
              con formato Maildir.
       MAILCHECK
              Define la frecuencia (en segundos)  a la que bash comprueba si hay correo nuevo. El
              valor predeterminado es 60 s. Si es hora de comprobar si hay correo,  la  shell  lo
              hace  antes  de mostrar el indicador primario. Si esta variable no está definida, o
              lo está con un valor inferior a cero, la shell no comprueba si hay correo nuevo.
       MAILPATH
              Una lista de nombres de fichero separados por dos puntos donde hay que comprobar si
              hay correo nuevo. El mensaje que haya que mostrar cuando llegue correo a un fichero
              particular puede especificarse separando el nombre de fichero del  mensaje  con  un
              '?'.  Cuando se use en el texto del mensaje, $_ se expande al nombre del fichero de
              correo en curso.  Ejemplo:
              MAILPATH='/var/mail/bfox?"Tienes carta":~/shell-mail?"¡$_ tiene carta!"'
              Bash proporciona un valor predeterminado para esta variable, pero  la  localización
              de  los  archivos  de  correo  del usuario que emplea, dependerá del sistema (p.ej.
              /var/mail/$USER).
       OPTERR Si se pone al valor 1, bash muestra mensajes de error generados por la orden nativa
              getopts  (consulte ÓRDENES NATIVAS DE LA SHELL más adelante).  OPTERR se inicia a 1
              cada vez que se llama al shell o cuando se ejecuta un script de la shell.
       PATH   La  ruta  de  búsqueda  para  órdenes,  programas  ejecutables.  Es  una  lista  de
              directorios  separados entre si por dos puntos en los cuales la shell busca órdenes
              (consulte EJECUCIÓN DE ÓRDENES a continuación). La ruta predeterminada depende  del
              sistema siendo definida por el administrador que instala bash. Un valor habitual es
              ``/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin''.
       POSIXLY_CORRECT
              Si esta variable está en el entorno cuando de inicie bash, la shell entrará en modo
              posix  antes  de  cargar  los archivos de inicio igual que si se emplease la opción
              --posix. Si se define una vez que la shell se está  ejecutando,  bash  activará  el
              modo  posix tal como si la orden set -o posix se hubiese ejecutado. Cuando la shell
              entra en modo posix, definirá está variable si no lo está ya.
       PROMPT_COMMAND
              If this variable is set, and is an array, the value of each set element is executed
              as a command prior to issuing each primary prompt.  If this is set but not an array
              variable, its value is used as a command to execute instead.
       PROMPT_DIRTRIM
              If set to a number greater than zero, the value is used as the number  of  trailing
              directory  components  to retain when expanding the \w and \W prompt string escapes
              (see PROMPTING below).  Characters removed are replaced with an ellipsis.
       PS0    El valor de este parámetro se expande (consulte  INDICADORES  más  adelante)  y  lo
              muestran  las  shells  interactivas después de leer una orden y despuñes de que sea
              ejecutada.
       PS1    El valor de este parámetro se expande (consulte  INDICADORES  más  adelante)  y  se
              emplea  como  la cadena del indicador primario. El valor predeterminado es “\s-\v\$
              ”.
       PS2    El valor de este parámetro se expande como con PS1 y se emplea como la  cadena  del
              indicador secundario. El valor predeterminado es “> ”.
       PS3    El  valor  de  este  parámetro  se  emplea  como  el indicador para la orden select
              (consulte GRAMÁTICA DE LA SHELL anteriormente).
       PS4    El valor de este parámetro se expande como con PS1 y el valor se imprime  antes  de
              cada  orden  que bash muestra durante una traza de ejecución. El primer carácter de
              PS4 se replica múltiples veces, tantas como sean necesarias, para indicar múltiples
              niveles de indirección. El valor predeterminado es “+ ”.
       SHELL  This variable expands to the full pathname to the shell.  If it is not set when the
              shell starts, bash assigns to it the full pathname  of  the  current  user's  login
              shell.
       TIMEFORMAT
              El  valor  de  este parámetro se emplea como una cadena de formato para especificar
              cómo debe mostrarse la información de  tiempos  para  tuberías  precedidas  por  la
              palabra  reservada  time.   El  carácter % introduce una secuencia de escape que se
              expande a un valor de tiempo o a otra información.  Las secuencias de escape y  sus
              significados son como sigue; los corchetes denotan partes opcionales.
              %%        Un % literal.
              %[p][l]R  El tiempo total transcurrido en segundos.
              %[p][l]U  El número de segundos de CPU gastados en modo usuario.
              %[p][l]S  El número de segundos de CPU gastados en modo sistema.
              %P        El porcentaje de CPU, computado como (%U + %S) ÷ %R.

              La p opcional es un dígito que especifica la precisión, el número de decimales.  Un
              valor de 0 hace que no se muestre ningún decimal, ni el punto o coma decimal.  Como
              mucho  se pueden especificar tres decimales; valores de p mayores de 3 se cambian a
              3. Si p no se especifica, se usa precisamente el valor 3.

              La l opcional especifica un formato más largo,  incluyendo  minutos,  en  la  forma
              MMmSS.FFs.  El valor de p determina si se incluye o no la fracción.

              Si   esta  variable  no  está  definida,  bash  actúa  como  si  tuviera  el  valor
              $'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'.  Si el valor es nulo, no se muestra ninguna
              información  de  tiempos.  Se añade un salto de línea al final cuando se muestra la
              cadena de formato.
       TMOUT  If set to a value greater than zero, TMOUT is treated as the  default  timeout  for
              the  read  builtin.   The  select command terminates if input does not arrive after
              TMOUT seconds when input is coming from a terminal.  In an interactive  shell,  the
              value  is  interpreted  as  the number of seconds to wait for a line of input after
              issuing the primary prompt.  Bash terminates  after  waiting  for  that  number  of
              seconds if a complete line of input does not arrive.
       TMPDIR If  set,  bash  uses  its  value  as  the name of a directory in which bash creates
              temporary files for the shell's use.
       auto_resume
              Esta variable controla cómo la shell interactúa con el usuario para el  control  de
              trabajos.  Si  esta  variable está definida, las órdenes simples de una palabra sin
              redirección se tratan como candidatas para reanudar un trabajo existente parado. No
              se  permite  ninguna ambigüedad; si hay más de un trabajo que empiece con la cadena
              tecleada, se selecciona el trabajo al que se ha  accedido  más  recientemente.   El
              nombre de un trabajo parado, en este contexto, es la línea de órdenes empleada para
              arrancarlo.  Si se define al valor exact, la  cadena  suministrada  debe  concordar
              exactamente  con  el  nombre  de un trabajo parado; si se define como substring, la
              cadena suministrada necesita concordar con una subcadena del nombre de  un  trabajo
              parado.  El  valor  substring  proporciona  una  funcionalidad  análoga  a  la  del
              identificador de trabajo %? (consulte CONTROL DE TAREAS más adelante). Si se pone a
              cualquier  otro  valor, la cadena suministrada debe ser un prefijo del nombre de un
              trabajo parado; esto proporciona una funcionalidad análoga a la  del  identificador
              de trabajo %cadena.
       histchars
              Los  dos o tres caracteres que controlan la expansión y separación en lexemas de la
              historia (consulte EXPANSIÓN DEL HISTORIAL a continuación).  El primer carácter  es
              el  carácter  de expansión del historial, el carácter que señala el comienzo de una
              expansión de historia, normalmente `!'.  El segundo  carácter  es  el  carácter  de
              sustitución  rápida,  que  se  usa  como  una  abreviatura para reejecutar la orden
              anterior, sustituyendo una cadena por otra en la orden. El valor predeterminado  es
              `^'.   El  tercer  carácter, opcional, es el carácter que indica que el resto de la
              línea es un comentario cuando se encuentra como el primer carácter de una  palabra,
              normalmente  es `#'.  El carácter de comentario de historia hace que la sustitución
              de  historia  se  salte  en  el  resto  de  palabras  de  la  línea.  No  hace  que
              necesariamente  el analizador léxico de la shell trate al resto de la línea como un
              a un comentario.

   Vectores
       Bash proporciona variables vectores monodimensionales, indexados y asociativos.  Cualquier
       variable puede usarse como un vector indexado; la orden nativa declare declarará un vector
       de forma expresa. No hay un límite máximo en el tamaño de un vector, ni  ningún  requisito
       para  que  los  miembros  se  indexen o asignen de forma contigua. Los vectores se indexan
       empleando enteros (incluso expresiones aritméticas) y su primer elemento es el  de  índice
       cero,  los  vectores  asociativos  se referencian empleando cualquier cadena. Salvo que se
       indique expresamente lo contrario, los índices  de  los  vectores  indexados  deberán  ser
       siempre enteros positivos.

       Un  vector  indexado  se  crea  automáticamente  si  se  asigna algo a una variable con la
       sintaxis nombre[índice]=valor. El índice se trata como una expresión aritmética  que  debe
       evaluarse  a  un  número. Para declarar un vector explícitamente, emplee declare -a nombre
       (consulte ÓRDENES NATIVAS DE LA  SHELL  más  adelante).   También  se  acepta  declare  -a
       nombre[índice], donde el índice no se tiene en cuenta.

       Los vectores asociativos se crean mediante declare -A nombre.

       Attributes may be specified for an array variable using the declare and readonly builtins.
       Each attribute applies to all members of an array.

       Arrays are assigned to using compound assignments of the form  name=(value1  ...  valuen),
       where  each value may be of the form [subscript]=string.  Indexed array assignments do not
       require anything but string.  Each value in the list  is  expanded  using  all  the  shell
       expansions  described  below  under  EXPANSION.   When assigning to indexed arrays, if the
       optional brackets and subscript are supplied, that index is  assigned  to;  otherwise  the
       index  of  the  element  assigned is the last index assigned to by the statement plus one.
       Indexing starts at zero.

       When assigning to an associative array, the words in a compound assignment may  be  either
       assignment  statements,  for  which  the subscript is required, or a list of words that is
       interpreted as a sequence of alternating keys and values: name=( key1 value1  key2  value2
       ...).   These  are  treated  identically  to name=( [key1]=value1 [key2]=value2 ...).  The
       first word in the list determines how the remaining words are interpreted; all assignments
       in  a  list  must  be  of  the same type.  When using key/value pairs, the keys may not be
       missing or empty; a final missing value is treated like the empty string.

       This syntax is also accepted by the declare builtin.  Individual  array  elements  may  be
       assigned to using the name[subscript]=value syntax introduced above.  When assigning to an
       indexed array, if name is subscripted by a negative number, that number is interpreted  as
       relative  to  one  greater  than the maximum index of name, so negative indices count back
       from the end of the array, and an index of -1 references the last element.

       Cualquier elemento de un  vector  puede  referenciarse  mediante  ${nombre[índice]}.   Las
       llaves  son  necesarias  para  evitar  conflictos con la expansión de nombres de rutas. Si
       índice es @ o *, la palabra se expande a todos los  miembros  de  nombre.   Estos  índices
       difieren  solamente  cuando  la  palabra aparece entre comillas dobles. Si la palabra está
       entre comillas dobles, ${nombre[*]} se expande a una sola palabra con  el  valor  de  cada
       miembro  del  vector  separados  por  el  primer  carácter  de la variable especial IFS, y
       ${nombre[@]} expande cada elemento de  nombre  a  una  palabra  separada.  Cuando  no  hay
       miembros del vector, ${nombre[@]} se expande a nada. Si la expansión entre dobles comillas
       ocurre dentro de una palabra, la expansión del primer parámetro se une  al  inicio  de  la
       palabra  original  y  la  expansión  del  último se une al final de dicha palabra. Esto es
       análogo a la expansión de los parámetros especiales * y @ (consulte Parámetros  especiales
       anteriormente).  ${#nombre[índice]}  se  expande  a  la  longitud de ${nombre[índice]}. Si
       índice es * o @, la expansión es el número de elementos del  vector.  Si  índice  empleado
       para  referirse a un elemento de un vector indexado equivale a un número menor que cero se
       entenderá como un número mayor que el máximo  índice  del  vector,  un  índice  de  -1  se
       referirá al último elemento.

       Referencing  an  array variable without a subscript is equivalent to referencing the array
       with a subscript of 0.  Any reference to a variable using a valid subscript is legal,  and
       bash will create an array if necessary.

       An  array  variable  is considered set if a subscript has been assigned a value.  The null
       string is a valid value.

       It is possible to  obtain  the  keys  (indices)  of  an  array  as  well  as  the  values.
       ${!name[@]}  and  ${!name[*]}  expand to the indices assigned in array variable name.  The
       treatment when in double quotes is similar to the expansion of the  special  parameters  @
       and * within double quotes.

       La  orden  nativa unset se emplea para eliminar vectores.  unset nombre[índice] elimina el
       elemento del vector con el índice definido tanto en vectores asociativos  como  indexados.
       Los  índices  negativos  en  vectores  indexados  se  interpretan  tal  como  se describió
       anteriormente. Aunque se desactive el último elemento de una  variable  vectorial,  no  se
       desactivará   dicha   variable.   unset  nombre,  donde  nombre  es  un  vector,  o  unset
       nombre[índice], donde índice es * o @, borrará el vector entero.

       When using a variable name with a subscript as an argument to  a  command,  such  as  with
       unset, without using the word expansion syntax described above, the argument is subject to
       pathname expansion.  If pathname expansion is not desired, the argument should be quoted.

       Las órdenes nativas declare, local, y  readonly  aceptan  cada  una  una  opción  -a  para
       especificar  un  vector indexado (indexed array) y la opción -A para especificad un vector
       asociativo (asociative array). Si se define  ambas  opciones,  prevalecerá  -A.  La  orden
       nativa  read  acepta  una  -a  para  asignar una lista de palabras leídas desde la entrada
       estándar a un vector. Las órdenes nativas set y declare muestran valores de un  vector  en
       una manera tal que les permite ser reutilizadas como asignaciones.

EXPANSIÓN

       La  expansión  se  realiza en la línea de órdenes una vez que la orden ha sido dividida en
       palabras. Hay siete  clases  de  expansión:  expansión  de  llaves,  expansión  de  tilde,
       expansión de parámetro y variable, sustitución de orden, expansión aritmética, división de
       palabras, expansión de nombre de ruta.

       La orden de las expansiones es: expansión de llaves, de tilde, de  parámetro,  variable  y
       aritmética,  y sustitución de orden (hechas de izquierda a derecha), división de palabras,
       y expansión de nombre de ruta.

       En sistemas que puedan admitirla, hay una expansión adicional disponible:  sustitución  de
       proceso.  Ésta  se  realiza  al  mismo  tiempo  que  la  expansión de llaves, de tilde, de
       parámetro, variable y aritmética, y sustitución de orden.

       After these expansions are performed, quote characters present in the  original  word  are
       removed unless they have been quoted themselves (quote removal).

       Solo  la  expansión  de  llaves, la división de palabras y la expansión de nombre de ruta,
       pueden cambiar el número de palabras de la  expansión;  las  otras  expanden  una  palabra
       simple  a otra palabra simple. Las únicas excepciones a esto son las expansiones de "$@" y
       "${nombre[@]}" y en muchos casos $* y ${name[*]} como se ha  explicado  más  anteriormente
       (consulte PARÁMETROS).

   Expansión de Llaves
       La  expansión  de llaves es un mecanismo por el cual pueden generarse cadenas arbitrarias.
       Este mecanismo es similar a la expansión de nombre de ruta, pero los  nombres  de  archivo
       creados  no  necesitan  existir.  Los patrones a ser expandidos con la expansión de llaves
       toman la forma de un preámbulo  opcional  seguido  por  bien  por  una  serie  de  cadenas
       separadas  por  comas  entre un par de llaves o por una expresión secuencial entre llaves,
       seguido por un post scriptum opcional.  El preámbulo sirve de prefijo  a  cada  cadena  de
       entre  las llaves, y el post scriptum se añade luego a cada cadena resultante, expandiendo
       de izquierda a derecha.

       Las expansiones de llaves pueden anidarse. Los resultados de cada cadena expandida  no  se
       ordenan;  se preserva el orden de izquierda a derecha. Por ejemplo, a{d,c,b}e se expande a
       `ade ace abe'.

       A sequence expression takes the form {x..y[..incr]}, where x and y are either integers  or
       single  characters,  and  incr,  an  optional increment, is an integer.  When integers are
       supplied, the expression expands to each number between  x  and  y,  inclusive.   Supplied
       integers  may be prefixed with 0 to force each term to have the same width.  When either x
       or y begins with a zero, the shell attempts to force all generated terms  to  contain  the
       same  number  of  digits, zero-padding where necessary.  When characters are supplied, the
       expression expands to each character lexicographically between x and y,  inclusive,  using
       the  default  C  locale.   Note  that  both  x  and  y must be of the same type.  When the
       increment is supplied, it is used as  the  difference  between  each  term.   The  default
       increment is 1 or -1 as appropriate.

       La  expansión de llaves se realiza antes que cualquier otra, y cualquier carácter especial
       para otras expansiones se preserva en el resultado. Es  estrictamente  textual.   Bash  no
       aplica ninguna interpretación sintáctica al contexto de la expansión ni al texto entre las
       llaves.

       Una expansión de llaves correctamente formada debe contener llaves de  apertura  y  cierre
       sin entrecomillar, y al menos una coma sin entrecomillar o una secuencia válida. Cualquier
       expansión de llaves formada incorrectamente se deja inalterada. Una { o , puede protegerse
       con  una  barra  invertida  para evitar que sea considerada como parte de una expansión de
       llaves. Para evitar conflictos con la expansión de  parámetros,  la  cadena  ${  no  puede
       incorporarse en una expansión de llaves y evita que se ocurra hasta la llave de cierre }.

       Esta  construcción  se  emplea normalmente como una abreviatura cuando el prefijo común de
       las cadenas a generar es mayor que en el ejemplo de antes:

              mkdir /usr/local/src/bash/{old,new,dist,bugs}
       o
              chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

       La expansión de llaves introduce una pequeña incompatibilidad con versiones anteriores  de
       sh.  sh  no  considera como caracteres especiales a las llaves de apertura o cierre cuando
       aparecen como parte de una palabra, y las deja en la entrada.  Bash quita  las  llaves  de
       palabras,  como  una  consecuencia  de  la  expansión  de llaves. Por ejemplo, una palabra
       introducida a sh como fichero{1,2} aparece así mismo en la entrada. La  misma  palabra  se
       muestra  como  fichero1  fichero2  tras  la  expansión  hecha  por  bash.  Si se desea una
       compatibilidad estricta con sh, inicie bash con la opción +B o inhabilite la expansión  de
       llaves  con  la opción +B de la orden nativa set (consulte ÓRDENES NATIVAS DE LA SHELL más
       adelante).

   Expansión de Tilde
       Si una palabra comienza con un carácter tilde de la ñ sin entrecomillar (`~'),  todos  los
       caracteres  que  precedan  a  la  primera  barra  inclinada sin entrecomillar (o todos los
       caracteres,  si  no  hay  ninguna  barra  inclinada  sin  proteger),  se   consideran   un
       prefijo-tilde.  Si  ninguno  de  los  caracteres en el prefijo-tilde están protegidos, los
       caracteres en el prefijo-tilde que siguen a la tilde se tratan como un posible  nombre  de
       entrada  de  usuario  (login).   Si este nombre de entrada es la cadena vacía, la tilde se
       reemplaza con el valor del parámetro de la shell HOME.   Si  HOME  no  está  definida,  se
       sustituye  en su lugar el directorio de trabajo inicial del usuario que está ejecutando la
       shell.  De otra forma, el prefijo-tilde se reemplaza con el directorio de trabajo  inicial
       (de casa) asociado con el nombre de entrada especificado.

       Si  el  prefijo-tilde  es  un  `~+',  el valor de la variable de la shell PWD reemplaza al
       prefijo-tilde.  Si el prefijo-tilde es un `~-', el  valor  de  la  variable  de  la  shell
       OLDPWD,  si  está  definido,  se sustituye.  Si los caracteres que siguen a la tilde en el
       prefijo-tilde consisten en un número N, prefijado opcionalmente por un `+' o  un  `-',  el
       prefijo-tilde se reemplaza con el elemento correspondiente de la pila de directorios, como
       lo mostraría la orden nativa dirs llamada con el prefijo-tilde  como  argumento.   Si  los
       caracteres  tras  la  tilde  en  el prefijo-tilde consisten en un número sin un `+' ni `-'
       iniciales, se supone `+'.

       Si el nombre de entrada es inválido, o si la expansión de tilde falla, la palabra se  deja
       tal cual.

       A  cada  asignación  de  variable  se  comprueba  si  hay prefijos-tilde sin entrecomillar
       inmediatamente tras un : o el primer =.  En estos casos, la  expansión  de  tilde  también
       tiene  lugar.   Consecuentemente,  uno  puede  usar  nombres  de  ficheros  con  tildes en
       asignaciones a PATH, MAILPATH, y CDPATH, y la shell asigna el valor expandido.

       Bash also performs  tilde  expansion  on  words  satisfying  the  conditions  of  variable
       assignments (as described above under PARAMETERS)  when they appear as arguments to simple
       commands.  Bash does not do this, except for the declaration commands listed  above,  when
       in posix mode.

   Expansión de Parámetro
       El  carácter  `$'  introduce  la expansión de parámetro, sustitución de orden, o expansión
       aritmética. El nombre de parámetro o símbolo a ser expandido puede estar  encerrado  entre
       llaves,  que  son  opcionales  pero  sirven para proteger a la variable en la expansión de
       caracteres que la sigan y puedan interpretarse como parte de su nombre.

       Cuando se empleen llaves, la de cierre es la  primera  `}'  no  protegida  con  una  barra
       invertida  o  en  una  cadena  entrecomillada,  y  no  dentro  de una expansión aritmética
       empotrada, sustitución de orden, o expansión de parámetro.

       ${parámetro}
              Se sustituye el valor de parámetro.  Se requieren llaves  cuando  parámetro  es  un
              parámetro  posicional  de más de un dígito, o cuando parámetro viene seguido por un
              carácter que no debe interpretarse como parte de su  nombre.  El  parámetro  es  un
              parámetro  de  la  shell  tal  como  se  describe  en  la  sección PARÁMETROS o una
              referencia a un vector (Vectores).

       If the first character of parameter is an exclamation point (!), and parameter  is  not  a
       nameref,  it  introduces  a level of indirection.  Bash uses the value formed by expanding
       the rest of parameter as the new parameter; this is then expanded and that value  is  used
       in  the  rest of the expansion, rather than the expansion of the original parameter.  This
       is known as indirect expansion.  The  value  is  subject  to  tilde  expansion,  parameter
       expansion,  command  substitution,  and  arithmetic expansion.  If parameter is a nameref,
       this expands to the name of the parameter referenced by parameter  instead  of  performing
       the complete indirect expansion.  The exceptions to this are the expansions of ${!prefix*}
       and ${!name[@]} described below.  The exclamation point must immediately follow  the  left
       brace in order to introduce indirection.

       En  cada  uno de los casos descritos a continuación, sobre palabra se aplican expansión de
       tilde, expansión de parámetro, sustitución de orden y expansión aritmética.

       When not performing substring expansion, using the forms documented below (e.g., :-), bash
       tests  for  a  parameter that is unset or null.  Omitting the colon results in a test only
       for a parameter that is unset.

       ${parámetro:-palabra}
              Emplear valores predeterminados.  Si parámetro no está definido o  está  vacío,  se
              sustituye  la  expansión  de  palabra.   De  otro  modo,  se  sustituye el valor de
              parámetro.
       ${parámetro:=palabra}
              Asignar valores predeterminados.  Si parámetro no  está  definido  o  es  nulo,  la
              expansión  de  palabra  se  asigna  a  parámetro.   Luego, el valor de parámetro se
              sustituye. No se puede asignar nada de esta manera a los parámetros posicionales ni
              a los especiales.
       ${parámetro:?palabra}
              Muestra  un error si no está definido o está vacío.  Si parámetro es nulo o no está
              definido, la expansión de palabra (o un mensaje a tal efecto  si  palabra  no  está
              presente)  se  escribe  en  la  salida  estándar  de  errores  y la shell, si no es
              interactivo, acaba. De otra manera, se sustituye el valor de parámetro.
       ${parámetro:+palabra}
              Emplear un valor alternativo.  Si parámetro está vacío o no está  definido,  no  se
              sustituye nada; de otro modo, se sustituye la expansión de palabra.
       ${parámetro:desplazamiento}
       ${parámetro:desplazamiento:longitud}
              Substring  Expansion.  Expands to up to length characters of the value of parameter
              starting at the character specified by offset.  If parameter is @, an indexed array
              subscripted  by  @  or  *,  or  an  associative  array  name, the results differ as
              described below.  If length is omitted, expands to the substring of  the  value  of
              parameter starting at the character specified by offset and extending to the end of
              the value.  length and offset are arithmetic expressions (see ARITHMETIC EVALUATION
              below).

              If  offset  evaluates to a number less than zero, the value is used as an offset in
              characters from the end of the value of parameter.  If length evaluates to a number
              less  than  zero,  it is interpreted as an offset in characters from the end of the
              value of parameter rather than a number of characters, and  the  expansion  is  the
              characters  between  offset  and  that result.  Note that a negative offset must be
              separated from the colon by at least one space to avoid being confused with the  :-
              expansion.

              If  parameter is @, the result is length positional parameters beginning at offset.
              A negative offset is taken relative to one greater  than  the  greatest  positional
              parameter, so an offset of -1 evaluates to the last positional parameter.  It is an
              expansion error if length evaluates to a number less than zero.

              If parameter is an indexed array name subscripted by @ or  *,  the  result  is  the
              length members of the array beginning with ${parameter[offset]}.  A negative offset
              is taken relative to one greater than the maximum index of the specified array.  It
              is an expansion error if length evaluates to a number less than zero.

              Substring expansion applied to an associative array produces undefined results.

              Substring  indexing  is  zero-based  unless  the positional parameters are used, in
              which case the indexing starts at 1 by default.  If offset is 0, and the positional
              parameters are used, $0 is prefixed to the list.

       ${!prefijo*}
       ${!prefijo@}
              Names  matching  prefix.   Expands to the names of variables whose names begin with
              prefix, separated by the first character of the IFS special variable.   When  @  is
              used  and the expansion appears within double quotes, each variable name expands to
              a separate word.

       ${!nombre[@]}
       ${!nombre[*]}
              List of array keys.  If name is an array variable, expands to  the  list  of  array
              indices  (keys) assigned in name.  If name is not an array, expands to 0 if name is
              set and null otherwise.  When @ is used and the  expansion  appears  within  double
              quotes, each key expands to a separate word.

       ${#parámetro}
              Parameter  length.   The  length  in  characters  of  the  value  of  parameter  is
              substituted.  If parameter is * or @,  the  value  substituted  is  the  number  of
              positional  parameters.   If  parameter is an array name subscripted by * or @, the
              value substituted is the number of elements in  the  array.   If  parameter  is  an
              indexed  array name subscripted by a negative number, that number is interpreted as
              relative to one greater than the maximum index of parameter,  so  negative  indices
              count  back  from  the  end  of  the  array, and an index of -1 references the last
              element.

       ${parámetro#palabra}
       ${parámetro##palabra}
              Remove matching prefix pattern.  The word is expanded to produce a pattern just  as
              in  pathname  expansion,  and matched against the expanded value of parameter using
              the rules described under Pattern Matching  below.   If  the  pattern  matches  the
              beginning  of  the  value  of  parameter,  then  the result of the expansion is the
              expanded value of parameter with the shortest matching pattern (the  “#”  case)  or
              the  longest matching pattern (the “##” case) deleted.  If parameter is @ or *, the
              pattern removal operation is applied to each positional parameter in turn, and  the
              expansion  is  the  resultant  list.  If parameter is an array variable subscripted
              with @ or *, the pattern removal operation is applied to each member of  the  array
              in turn, and the expansion is the resultant list.

       ${parámetro%palabra}
       ${parámetro%%palabra}
              Remove  matching suffix pattern.  The word is expanded to produce a pattern just as
              in pathname expansion, and matched against the expanded value  of  parameter  using
              the  rules  described  under  Pattern  Matching  below.   If  the pattern matches a
              trailing portion of the expanded  value  of  parameter,  then  the  result  of  the
              expansion  is  the  expanded  value of parameter with the shortest matching pattern
              (the “%” case) or the  longest  matching  pattern  (the  “%%”  case)  deleted.   If
              parameter  is  @  or *, the pattern removal operation is applied to each positional
              parameter in turn, and the expansion is the resultant list.   If  parameter  is  an
              array variable subscripted with @ or *, the pattern removal operation is applied to
              each member of the array in turn, and the expansion is the resultant list.

       ${parámetro/patrón/cadena}
              Pattern substitution.  The pattern is expanded to produce  a  pattern  just  as  in
              pathname  expansion, Parameter is expanded and the longest match of pattern against
              its value is replaced  with  string.   The  match  is  performed  using  the  rules
              described  under  Pattern Matching below.  If pattern begins with /, all matches of
              pattern are replaced with string.  Normally only the first match is  replaced.   If
              pattern  begins  with  #,  it  must match at the beginning of the expanded value of
              parameter.  If pattern begins with %, it must match at  the  end  of  the  expanded
              value  of  parameter.   If string is null, matches of pattern are deleted and the /
              following pattern may be omitted.  If the nocasematch shell option is enabled,  the
              match  is  performed  without  regard  to  the  case  of alphabetic characters.  If
              parameter is @ or *, the substitution  operation  is  applied  to  each  positional
              parameter  in  turn,  and  the expansion is the resultant list.  If parameter is an
              array variable subscripted with @ or *, the substitution operation  is  applied  to
              each member of the array in turn, and the expansion is the resultant list.

       ${parámetro^patrón}
       ${parámetro^^patrón}
       ${parámetro,patrón}
       ${parámetro,,patrón}
              Case  modification.   This  expansion modifies the case of alphabetic characters in
              parameter.  The pattern is expanded to  produce  a  pattern  just  as  in  pathname
              expansion.   Each  character  in  the expanded value of parameter is tested against
              pattern, and, if it matches the pattern, its case is converted.  The pattern should
              not  attempt  to  match more than one character.  The ^ operator converts lowercase
              letters matching pattern to uppercase; the , operator converts  matching  uppercase
              letters  to  lowercase.  The ^^ and ,, expansions convert each matched character in
              the expanded value; the ^ and  ,  expansions  match  and  convert  only  the  first
              character  in  the  expanded value.  If pattern is omitted, it is treated like a ?,
              which matches every character.  If parameter is  @  or  *,  the  case  modification
              operation is applied to each positional parameter in turn, and the expansion is the
              resultant list.  If parameter is an array variable subscripted with  @  or  *,  the
              case modification operation is applied to each member of the array in turn, and the
              expansion is the resultant list.

       ${parámetro:operador}
              Transformación de parámetros. La expansión puede ser una transformación  del  valor
              de  parámetro  o  información  sobre  el propio parámetro dependiendo del valor del
              operador. Cada operador consta de una única letra:

              U      La expansión será una cadena formada por el  valor  del  parámetro  con  sus
                     letras minúsculas pasadas a mayúsculas.
              u      La expansión será una cadena formada por el valor de parámetro con su primer
                     carácter en mayúsculas, siempre que sea una letra.
              L      La expansión será una cadena formada por el  valor  de  parámetros  con  sus
                     letras mayúsculas convertidas en minúsculas.
              Q      La  expansión  es una cadena formada por el valor de parámetro en un formato
                     adecuado para ser utilizado como valor de entrada.
              E      La expansión será una cadena formada por el valor de  parámetro  expandiendo
                     las barras invertidas de forma análoga al sistema de comillas $'...'.
              P      La  expansión  será una cadena formada por el resultado de expandir el valor
                     de parámetro como si fuera un indicador de la shell   (consulte  INDICADORES
                     más adelante).
              A      The  expansion is a string in the form of an assignment statement or declare
                     command that, if evaluated, will recreate parameter with its attributes  and
                     value.
              K      Produces a possibly-quoted version of the value of parameter, except that it
                     prints the values of indexed and associative arrays as a sequence of  quoted
                     key-value pairs (see Arrays above).
              a      La  expansión  será  una  cadena  formada  por  los  valores de opciones que
                     representan los atributos de parámetro.

              Si parámetro es @ o *, la operación se aplicará a  cada  parámetro  posicional  por
              turnos,  y  la  expansión  es  la  lista  resultante.  Si parámetro es una variable
              vectorial indexada con @ o *, la operación de borrado del patrón se aplica  a  cada
              miembro del vector por orden, y la expansión es la lista resultante.

              El resultado de la expansión puede posteriormente ser objeto de división de palabra
              y expansión del nombre de ruta tal como se describe más adelante.

   Sustitución de Orden
       La sustitución de orden permite a la salida de una orden reemplazar al nombre de la orden.
       Hay dos formas:

              $(orden)
       o
              `orden`

       Bash  realiza  la expansión ejecutando orden en una subshell y reemplazando la sustitución
       de orden con la salida estándar de la orden, quitando los saltos de  línea  finales.   Los
       saltos de línea empotrados no se borran, pero pueden ser eliminados durante la división de
       palabras.  La sustitución de orden $(cat archivo) puede reemplazarse  por  lo  equivalente
       pero más rápido $(< archivo).

       Cuando  se  emplea  la  forma de sustitución al viejo estilo con las comillas inversas, la
       barra invertida mantiene su significado literal excepto cuando es seguida por $, `,  o  \.
       La  primera comilla inversa no precedida por una barra invertida termina la sustitución de
       orden.  Cuando se emplea la forma $(orden), todos  los  caracteres  entre  los  paréntesis
       forman parte de la orden; ninguno se considera como especial.

       Las  sustituciones  de  orden  pueden  anidarse.  Para anidar cuando se emplee la forma de
       comillas inversas, proteja las comillas inversas internas con barras inversas.

       Si la sustitución aparece dentro de las dobles comillas, la  división  de  palabras  y  la
       expansión de nombres no se realiza en los resultados.

   Expansión Aritmética
       La expansión aritmética permite la evaluación de una expresión aritmética y la sustitución
       del resultado. El formato para la expansión aritmética es:

              $((expresión))

       El antiguo formato $[expresión] es obsoleto y se eliminará en futuras versiones de bash.

       La expresión se trata como si estuviera entre comillas dobles,  pero  un  signo  de  doble
       comilla  dentro  de los paréntesis no se considera un carácter especial. Todos los lexemas
       en la expresión están sujetos a expansión de parámetro, expansión de  cadena,  sustitución
       de  orden,  y  eliminación de comillas.  El resultado se considera la expansión aritmética
       para evaluar, dichas expansiones pueden anidarse.

       La evaluación se realiza de acuerdo a las  reglas  listadas  más  adelante  en  EVALUACIÓN
       ARITMÉTICA.   Si  expresión  no es válida, bash imprime un mensaje indicando el fallo y no
       ocurre ninguna sustitución.

   Sustitución de Proceso
       Process substitution allows a process's  input  or  output  to  be  referred  to  using  a
       filename.    It  takes  the  form  of  <(list)  or  >(list).   The  process  list  is  run
       asynchronously, and its input or output appears as a filename.  This filename is passed as
       an argument to the current command as the result of the expansion.  If the >(list) form is
       used, writing to the file will provide input for list.  If the <(list) form is  used,  the
       file  passed  as  an  argument  should  be  read  to  obtain  the output of list.  Process
       substitution is supported on systems that support  named  pipes  (FIFOs)  or  the  /dev/fd
       method of naming open files.

       Cuando  esté  disponible,  se  realiza  la  sustitución  de proceso simultáneamente con la
       expansión de parámetro y variable, sustitución de orden y expansión aritmética.

   División de Palabra
       la shell examina los resultados de la expansión  de  parámetro,  sustitución  de  orden  y
       expansión aritmética que no ocurrieron dentro de comillas dobles para realizar la división
       de palabras.

       The shell treats each character of IFS as a delimiter, and splits the results of the other
       expansions  into  words  using these characters as field terminators.  If IFS is unset, or
       its value is exactly <space><tab><newline>, the default, then sequences of <space>, <tab>,
       and  <newline>  at  the  beginning  and  end of the results of the previous expansions are
       ignored, and any sequence of IFS characters not at the beginning or end serves to  delimit
       words.   If  IFS  has  a  value  other  than the default, then sequences of the whitespace
       characters space, tab, and newline are ignored at the beginning and end of  the  word,  as
       long  as  the  whitespace  character is in the value of IFS (an IFS whitespace character).
       Any character in IFS that is not IFS whitespace, along with any  adjacent  IFS  whitespace
       characters,  delimits a field.  A sequence of IFS whitespace characters is also treated as
       a delimiter.  If the value of IFS is null, no word splitting occurs.

       Explicit null arguments ("" or '') are retained and passed to commands as  empty  strings.
       Unquoted  implicit null arguments, resulting from the expansion of parameters that have no
       values, are removed.  If a parameter with no value is expanded  within  double  quotes,  a
       null  argument results and is retained and passed to a command as an empty string.  When a
       quoted null argument appears as part of a word  whose  expansion  is  non-null,  the  null
       argument  is  removed.   That  is,  the word -d'' becomes -d after word splitting and null
       argument removal.

       Observe que si no hay expansión, tampoco se realiza la división de palabras.

   Expansión de Nombres de Ruta
       After word splitting, unless the -f option has been set, bash  scans  each  word  for  the
       characters  *,  ?, and [.  If one of these characters appears, and is not quoted, then the
       word is regarded as a  pattern,  and  replaced  with  an  alphabetically  sorted  list  of
       filenames matching the pattern (see Pattern Matching below).  If no matching filenames are
       found, and the shell option nullglob is not enabled, the word is left unchanged.   If  the
       nullglob  option  is  set, and no matches are found, the word is removed.  If the failglob
       shell option is set, and no matches are found, an error message is printed and the command
       is  not  executed.   If  the  shell  option  nocaseglob is enabled, the match is performed
       without regard to  the  case  of  alphabetic  characters.   Note  that  when  using  range
       expressions  like  [a-z] (see below), letters of the other case may be included, depending
       on the setting of LC_COLLATE. When a pattern is used for pathname expansion, the character
       “.”  at  the  start of a name or immediately following a slash must be matched explicitly,
       unless the shell option dotglob is set.  The filenames “.” and “..” must always be matched
       explicitly,  even  if  dotglob  is  set.  In other cases, the “.” character is not treated
       specially.  When  matching  a  pathname,  the  slash  character  must  always  be  matched
       explicitly  by a slash in the pattern, but in other matching contexts it can be matched by
       a  special  pattern  character  as  described  below  under  Pattern  Matching.   See  the
       description  of  shopt  below  under  SHELL  BUILTIN  COMMANDS  for  a  description of the
       nocaseglob, nullglob, failglob, and dotglob shell options.

       La variable de la shell GLOBIGNORE puede utilizarse para restringir el conjunto de nombres
       de  archivo  que  concuerden  con  un patrón.  Si GLOBIGNORE está definido, cada nombre de
       archivo concordante que también coincida con uno de los patrones en GLOBIGNORE se quita de
       la lista de concordancias.  Los nombres de archivo “.” y “..” nunca son tenidos en cuenta,
       incluso cuando GLOBIGNORE esté puesto. Sin embargo, definir GLOBIGNORE activa la opción de
       la  shell dotglob, de modo que todos los otros nombres de archivo que comiencen con un “.”
       concordarán.  Para obtener el comportamiento anterior de  no  hacer  caso  de  nombres  de
       archivo que comienzan con un “.”, haga que “.*” sea uno de los patrones de GLOBIGNORE.  La
       opción dotglob está deshabilitada cuando GLOBIGNORE no está definido. La  concordancia  de
       patrones depende de la configuración de la opción de la sehll extglob.

       Concordancia

       Cualquier  carácter  que  aparezca  en  un  patrón, aparte de los especiales descritos más
       adelante, concuerda consigo mismo. El carácter NUL no puede estar en un patrón. Una  barra
       invertida  protege  al  siguiente  caracter y no se tiene en cuenta durante la búsqueda de
       concordancias. Los caracteres de patrón especiales deben protegerse si  han  de  concordar
       literalmente consigo mismos.

       Los caracteres de patrón especiales tienen los siguientes significados:

              *      Matches  any  string,  including  the  null string.  When the globstar shell
                     option is enabled, and * is  used  in  a  pathname  expansion  context,  two
                     adjacent  *s  used as a single pattern will match all files and zero or more
                     directories and subdirectories.  If followed by a /, two  adjacent  *s  will
                     match only directories and subdirectories.
              ?      Concuerda con un solo carácter cualquiera.
              [...]  Matches  any one of the enclosed characters.  A pair of characters separated
                     by a hyphen denotes a range expression; any  character  that  falls  between
                     those  two  characters,  inclusive,  using  the  current  locale's collating
                     sequence and character set, is matched.  If the  first  character  following
                     the [ is a ! or a ^ then any character not enclosed is matched.  The sorting
                     order of characters in range expressions is determined by the current locale
                     and  the  values  of  the  LC_COLLATE or LC_ALL shell variables, if set.  To
                     obtain the traditional interpretation of range expressions, where  [a-d]  is
                     equivalent to [abcd], set value of the LC_ALL shell variable to C, or enable
                     the globasciiranges shell option.  A - may be matched by including it as the
                     first  or  last character in the set.  A ] may be matched by including it as
                     the first character in the set.

                     Dentro de [ y ], se pueden especificar  clases  de  caracteres  mediante  la
                     sintaxis [:clase:], donde clase es una de las siguientes clases definidas en
                     el estándar POSIX:
                     alnum alpha ascii blank cntrl digit graph lower print punct space upper word
                     xdigit
                     Una  clase  de  caracteres concuerda con cualquier carácter que pertenezca a
                     esa clase El carácter word concordará con letras, cifras y el carácter '_'.

                     Dentro de [ y ], una clase de equivalencia se puede especificar empleando la
                     sintaxis  [=c=], que concuerda con todos los caracteres con el mismo peso de
                     clasificación (tal como lo defina la localización en curso) que el  carácter
                     c.

                     Dentro  de  [  y  ],  la  sintaxis  [.símbolo.]  concuerda con el símbolo de
                     clasificación símbolo.

       Si la opción de la shell extglob se activa usando la  orden  nativa  shopt,  se  reconocen
       algunos  operadores  de patrones extendidos. En la siguiente descripción, una lista-patrón
       es una lista de uno o  más  patrones  separados  por  un  |.  Se  pueden  formar  patrones
       compuestos usando uno o más de los siguientes sub-patrones:

              ?(lista-patrón)
                     Concuerda con ninguna o una ocurrencia de los patrones dados
              *(lista-patrón)
                     Concuerda con ninguna o más ocurrencias de los patrones dados
              +(lista-patrón)
                     Concuerda con una o más ocurrencias de los patrones dados
              @(lista-patrón)
                     Concuerda con uno de los patrones dados
              !(lista-patrón)
                     Concuerda con cualquier cosa excepto con uno de los patrones dados

       Complicated  extended  pattern  matching against long strings is slow, especially when the
       patterns contain alternations and the strings contain multiple  matches.   Using  separate
       matches  against  shorter  strings,  or  using  arrays of strings instead of a single long
       string, may be faster.

   Eliminación de Comillas
       Tras las  expansiones  precedentes,  todas  las  ocurrencias  no  entrecomilladas  de  los
       caracteres \, ', y " que no resulten de una de las expansiones anteriores, se eliminan.

REDIRECCIÓN

       Antes  de  que se ejecute una orden, su entrada y salida pueden ser redirigidas usando una
       notación especial.  La redirección también se puede emplear para duplicar, abrir y  cerrar
       archivos,  hacer  que  se  refieran  a  distintos  archivos,  y hacer que las orden lean o
       escriban en otros archivos diferentes.Los operadores de redirección también  puede  usarse
       para  para  modificar  la  gestión de los archivos en la shell en ejecución.Los siguientes
       operadores de redirección pueden preceder o aparecer  en  cualquier  sitio  de  una  orden
       simple  o  pueden ir detrás de una orden.  Las redirecciones se procesan en el orden en el
       que aparecen, de izquierda a derecha.

       Each redirection that may be preceded by a file descriptor number may instead be  preceded
       by  a  word of the form {varname}.  In this case, for each redirection operator except >&-
       and <&-, the shell will allocate a file descriptor greater than or equal to 10 and  assign
       it  to  varname.  If >&- or <&- is preceded by {varname}, the value of varname defines the
       file descriptor to close.  If {varname} is supplied, the redirection persists  beyond  the
       scope of the command, allowing the shell programmer to manage the file descriptor himself.

       En  las  descripciones  siguientes,  si se omite el número del descriptor de fichero, y el
       primer carácter del operador de redirección es <, la redirección se refiere a  la  entrada
       estándar  (descriptor  de fichero 0). Si el primer carácter del operador de redirección es
       >, la redirección se refiere a la salida estándar (descriptor de fichero 1).

       La palabra tras el operador de redirección en las descripciones siguientes, a menos que se
       diga  otra  cosa,  está  sujeta a la expansión de llaves, expansión de tilde, expansión de
       parámetro, sustitución de orden, expansión aritmética, eliminación de  comillas,  división
       de  palabra  y  expansión  de  nombre  de  ruta.  Si se expande a más de una palabra, bash
       informa de un error.

       Observe que el orden de las redirecciones es significativo. Por ejemplo, la orden

              ls > listadir 2>&1

       dirige la salida estándar normal y la de errores, ambas, al fichero listadir, mientras que
       la orden

              ls 2>&1 > listadir

       dirige  solamente  la  salida  estándar  al  archivo listadir, porque la salida de errores
       estándar se ha duplicado como salida estándar antes de que ésta se redirigiera a listadir.

       Bash handles several filenames specially when they are used in redirections, as  described
       in  the  following table.  If the operating system on which bash is running provides these
       special files, bash will use them; otherwise it will  emulate  them  internally  with  the
       behavior described below.

              /dev/fd/fd
                     Si fd es un entero válido, el decriptor de archivo fd se duplica.
              /dev/stdin
                     El descriptor de archivo 0 se duplica.
              /dev/stdout
                     El descriptor de archivo 1 se duplica.
              /dev/stderr
                     El descriptor de archivo 2 se duplica.
              /dev/tcp/equipo/puerto
                     Si equipo es un nombre de equipo válido o una dirección de internet y puerto
                     es un número entero correspondiente a  un  número  de  puerto  o  nombre  de
                     servicio, bash intentará abrir el conector TCP correspondiente.
              /dev/udp/equipo/puerto
                     Si equipo es un nombre de equipo válido o una dirección de internet y puerto
                     es un número entero correspondiente a  un  número  de  puerto  o  nombre  de
                     servicio, bash intentará abrir el conector UDP correspondiente.

       Un fallo en la apertura o creación de un fichero hace que la redirección fracase.

       Deben  usarse  con cautela las redicrecciones con descriptores de archivo mayores que 9 ya
       que pueden entrar en conflicto con los empleados internamente por la propia shell.

       Observe que la orden interna exec puede ejecutar redirecciones  con  efecto  en  la  shell
       actual.

   Redirección de la Entrada
       La  redirección  de  la entrada hace que el fichero cuyo nombre resulte de la expansión de
       palabra se abra para lectura en  el  descriptor  de  fichero  n,  o  la  entrada  estándar
       (descriptor de fichero 0) si no se especificó n.

       El formato general para la redirección de la entrada es:

              [n]<palabra

   Redirección de la Salida
       La  redirección  de  la  salida hace que el fichero cuyo nombre resulte de la expansión de
       palabra se abra para escritura en el  descriptor  de  fichero  n,  o  la  salida  estándar
       (descriptor  de  fichero  1)  si  n  no se especificó. Si el fichero no existe se crea; si
       existe se trunca a longitud cero, se vacía.

       El formato general para la redirección de la salida es:

              [n]>palabra

       Si el operador de redirección es >, y la opción noclobber de la orden nativa set  ha  sido
       activada,  la  redirección  fallará  si el nombre de fichero resultante de la expansión de
       palabra existiera y fuera un fichero regular.  Si el operador de redirección es >|, o es >
       y  la  opción noclobber de la orden nativa set no está activada, la redirección se intenta
       incluso si el archivo nombrado por palabra existe.

   Añadir a la Salida Redirigida
       La redirección de la salida en esta forma hace que el fichero cuyo nombre  resulte  de  la
       expansión  de  palabra  se  abra  para  añadir  en el descriptor de fichero n, o la salida
       estándar (descriptor de fichero 1) si n no se especificó. Si  el  fichero  no  existe,  se
       crea.

       El formato general para añadir a la salida es:

              [n]>>palabra

   Redirección de las Salidas Estándar y de Errores
       Este  constructo permite que ambas salidas estándares, la normal (descriptor de archivo 1)
       y la de errores (descriptor de archivo 2) se redirijan hacia el archivos cuyo  nombre  sea
       la expansión de palabra con esta construcción.

       hay dos formatos para la redirección de la salida estándar y la salida de errores:

              &>palabra
       y
              >&palabra

       De las dos formas, es preferible la primera.  Ésta es semánticamente equivalente a

              >palabra 2>&1

       When  using  the  second  form,  word  may not expand to a number or -.  If it does, other
       redirection operators apply (see Duplicating File  Descriptors  below)  for  compatibility
       reasons.

   Uniendo las Salidas Estándar y Error
       Este  constructo permite que ambas salidas estándares, la normal (descriptor de archivo 1)
       y la de errores (descriptor de fichero 2) se redirijan hacia el archivo cuyo nombre sea la
       expansión de palabra.

       el  formato para unir la redirección de la salida estándar y la salida de errores sería el
       siguiente:

              &>>palabra

       Ésta es semánticamente equivalente a

              >>palabra 2>&1

       (consulte Duplicación de descriptores de fichero más adelante).

   Documentos Internos
       Este tipo de redirección indica a la shell que lea la entrada desde la fuente actual hasta
       que  vea  una  línea  que  contenga solamente separador (sin espacios en blanco al final).
       Todas las líneas leídas hasta ese punto se emplean como la entrada estándar de una orden.

       El formato de los documentos internos es:

              [n]<<[-]palabra
                      documento-interno
              delimitador

       No parameter and  variable  expansion,  command  substitution,  arithmetic  expansion,  or
       pathname  expansion is performed on word.  If any part of word is quoted, the delimiter is
       the result of quote removal on word, and the lines in the here-document are not  expanded.
       If  word is unquoted, all lines of the here-document are subjected to parameter expansion,
       command substitution, and arithmetic  expansion,  the  character  sequence  \<newline>  is
       ignored, and \ must be used to quote the characters \, $, and `.

       Si el operador de redirección es <<-, entonces se quitan de las líneas de la entrada todos
       los caracteres de tabulación iniciales, así como de la  línea  que  contiene  delimitador.
       Esto  permite  que  los  documentos  internos  dentro de guiones de la shell se sangren de
       manera natural.

   Cadenas de Documentos Internos
       Una variante de los documentos internos con el siguiente formato:

              [n]<<<palabra

       The  word  undergoes  tilde  expansion,  parameter   and   variable   expansion,   command
       substitution,  arithmetic  expansion,  and  quote  removal.   Pathname  expansion and word
       splitting are not performed.  The result is supplied as a single string,  with  a  newline
       appended, to the command on its standard input (or file descriptor n if n is specified).

   Duplicación de Descriptores de Archivo
       Operador de Redirección

              [n]<&palabra

       se  emplea para duplicar descriptores de ficheros de entrada.  Si palabra se expande a uno
       o más dígitos, el descriptor de fichero denotado por n se  hace  ser  una  copia  de  este
       descriptor  de fichero.  Si los dígitos en palabra no especifican un descriptor de fichero
       abierto para entrada, se produce un error de redirección.  Si palabra se evalúa  a  -,  el
       descriptor  de  fichero  n se cierra. Si n no se especifica, se emplea la entrada estándar
       (descriptor de fichero 0).

       Operador

              [n]>&palabra

       is used similarly to duplicate output file  descriptors.   If  n  is  not  specified,  the
       standard  output (file descriptor 1) is used.  If the digits in word do not specify a file
       descriptor open for output, a redirection error occurs.  If  word  evaluates  to  -,  file
       descriptor  n  is closed.  As a special case, if n is omitted, and word does not expand to
       one or more digits or -,  the  standard  output  and  standard  error  are  redirected  as
       described previously.

   Mobilidad de los Descriptores de Archivo
       Operador de Redirección

              [n]<&cifra-

       moves  the  file  descriptor  digit  to  file  descriptor  n,  or the standard input (file
       descriptor 0) if n is not specified.  digit is closed after being duplicated to n.

       De forma análoga, el operador de redirección

              [n]>&cifra-

       moves the file descriptor digit to  file  descriptor  n,  or  the  standard  output  (file
       descriptor 1) if n is not specified.

   Apertura de Descriptores de Archivo para lectura y escritura
       Operador de Redirección

              [n]<>palabra

       hace  que  el fichero cuyo nombres sea la expansión de palabra se abra para lectura y para
       escritura en el descriptor de fichero n, o  en  el  descriptor  de  fichero  0  si  no  se
       especifica n.  Si el fichero no existe, se crea.

ALIAS

       Aliases allow a string to be substituted for a word when it is used as the first word of a
       simple command.  The shell maintains a list of aliases that may be set and unset with  the
       alias  and unalias builtin commands (see SHELL BUILTIN COMMANDS below).  The first word of
       each simple command, if unquoted, is checked to see if it has an alias.  If so, that  word
       is  replaced by the text of the alias.  The characters /, $, `, and = and any of the shell
       metacharacters or quoting characters listed above may not appear in an  alias  name.   The
       replacement  text  may contain any valid shell input, including shell metacharacters.  The
       first word of the replacement text is tested for aliases, but a word that is identical  to
       an  alias  being expanded is not expanded a second time.  This means that one may alias ls
       to ls -F, for instance, and bash does not try to recursively expand the replacement  text.
       If  the last character of the alias value is a blank, then the next command word following
       the alias is also checked for alias expansion.

       Los alias se crean y listan con la orden alias, y se quitan con la orden unalias.

       No hay ningún mecanismo para poder usar  argumentos  en  el  texto  de  reemplazo.  Si  se
       necesitan,  debería  emplearse  mejor  una  función  de  la  shell. Consulte FUNCIONES más
       adelante.

       Los alias no se expanden cuando la shell no es interactivo, a menos que se haya puesto  la
       opción  expand_aliases  mediante  shopt  (consulte  la  descripción  de shopt bajo ÓRDENES
       NATIVAS DE LA SHELL más adelante).

       The rules concerning the definition and use  of  aliases  are  somewhat  confusing.   Bash
       always  reads  at  least one complete line of input, and all lines that make up a compound
       command, before executing any of the commands  on  that  line  or  the  compound  command.
       Aliases are expanded when a command is read, not when it is executed.  Therefore, an alias
       definition appearing on the same line as another command does not take  effect  until  the
       next  line of input is read.  The commands following the alias definition on that line are
       not affected by the new alias.   This  behavior  is  also  an  issue  when  functions  are
       executed.   Aliases are expanded when a function definition is read, not when the function
       is executed, because a function definition is itself a command.  As a consequence, aliases
       defined  in  a  function  are  not available until after that function is executed.  To be
       safe, always put alias definitions on a separate line, and do not use  alias  in  compound
       commands.

       Para casi cualquier propósito, los alias pueden sustituirse por funciones de la shell.

FUNCIONES

       A  shell  function,  defined  as  described  above under SHELL GRAMMAR, stores a series of
       commands for later execution.  When the name of a shell  function  is  used  as  a  simple
       command  name,  the  list  of  commands  associated  with  that function name is executed.
       Functions are executed in the context of the current shell; no new process is  created  to
       interpret  them  (contrast this with the execution of a shell script).  When a function is
       executed, the arguments to the  function  become  the  positional  parameters  during  its
       execution.  The special parameter # is updated to reflect the change.  Special parameter 0
       is unchanged.  The first element of the FUNCNAME variable  is  set  to  the  name  of  the
       function while the function is executing.

       All  other aspects of the shell execution environment are identical between a function and
       its caller with these exceptions: the DEBUG and RETURN traps (see the description  of  the
       trap builtin under SHELL BUILTIN COMMANDS below) are not inherited unless the function has
       been given the trace attribute (see the description of the declare builtin below)  or  the
       -o  functrace  shell  option  has  been  enabled  with  the set builtin (in which case all
       functions inherit the DEBUG and RETURN traps), and the ERR trap is  not  inherited  unless
       the -o errtrace shell option has been enabled.

       Variables  local  to  the  function  may  be  declared  with  the  local  builtin command.
       Ordinarily, variables and their values are shared between the function and its caller.  If
       a  variable is declared local, the variable's visible scope is restricted to that function
       and its children (including the functions it calls).  Local variables  "shadow"  variables
       with  the  same name declared at previous scopes.  For instance, a local variable declared
       in a function hides a global variable of the same name: references and  assignments  refer
       to the local variable, leaving the global variable unmodified.  When the function returns,
       the global variable is once again visible.

       The shell uses dynamic scoping to control a variable's visibility within functions.   With
       dynamic  scoping,  visible  variables  and  their  values  are a result of the sequence of
       function calls that caused execution to reach  the  current  function.   The  value  of  a
       variable that a function sees depends on its value within its caller, if any, whether that
       caller is the "global" scope or another shell function.  This is also  the  value  that  a
       local  variable  declaration  "shadows",  and the value that is restored when the function
       returns.

       For example, if a variable var is declared as local in function  func1,  and  func1  calls
       another function func2, references to var made from within func2 will resolve to the local
       variable var from func1, shadowing any global variable named var.

       The unset builtin also acts using the same dynamic scope: if a variable is  local  to  the
       current  scope,  unset will unset it; otherwise the unset will refer to the variable found
       in any calling scope as described above.  If a variable at  the  current  local  scope  is
       unset,  it  will  remain so until it is reset in that scope or until the function returns.
       Once the function returns, any instance of the variable at a previous  scope  will  become
       visible.   If the unset acts on a variable at a previous scope, any instance of a variable
       with that name that had been shadowed will become visible.

       The FUNCNEST variable, if set to a  numeric  value  greater  than  0,  defines  a  maximum
       function  nesting  level.   Function  invocations  that  exceed the limit cause the entire
       command to abort.

       If the builtin command return is executed  in  a  function,  the  function  completes  and
       execution  resumes  with the next command after the function call.  Any command associated
       with the RETURN trap is executed before execution resumes.  When a function completes, the
       values of the positional parameters and the special parameter # are restored to the values
       they had prior to the function's execution.

       Los nombres de función y sus definiciones pueden listarse con la opción -f al ejecutar las
       órdenes  nativas  declare  o typeset.  La opción -F de declare o typeset listará solamente
       los nombres de las funciones (si está activada la opción de la shell extdebug, también  se
       mostrará el archivo origen y el número de línea).  Las funciones pueden exportarse de modo
       que las subshells las tengan definidas automáticamente  con  la  opción  -f  de  la  orden
       interna  export.  Puede  borrarse la definición de una función mediante la opción -f de la
       orden nativa unset.

       Las funciones pueden anidarse. La variable  FUNCNEST  limita  el  tamaño  de  la  pila  de
       llamadas  de  la función y restringir la cantidad de llamadas que puede hacer una función.
       Por defecto, no se impone ninguna restricción sobre este aspecto.

EVALUACIÓN ARITMÉTICA

       The shell allows arithmetic expressions to be evaluated, under certain circumstances  (see
       the  let and declare builtin commands, the (( compound command, and Arithmetic Expansion).
       Evaluation is done in fixed-width integers with no check for overflow, though division  by
       0  is trapped and flagged as an error.  The operators and their precedence, associativity,
       and values are the same as in the C language.  The following list of operators is  grouped
       into  levels  of equal-precedence operators.  The levels are listed in order of decreasing
       precedence.

       id++ id--
              variable post-incremento y post-reducción
       - +    menos y más unarios
       ++id --id
              variable pre-incremento y pre-reducción
       ! ~    negación lógica y bit a bit.
       **     exponenciación
       * / %  multiplicación, división, resto
       + -    adición, sustracción
       << >>  desplazamientos de bits a izquierda y derecha
       <= >= < >
              comparación
       == !=  igualdad y desigualdad
       &      Y de bits (AND)
       ^      O exclusivo de bits (XOR)
       |      O inclusivo de bits (OR)
       &&     Y lógico (AND)
       ||     O lógico (OR)
       expr?expr:expr
              Operador condicional
       = *= /= %= += -= <<= >>= &= ^= |=
              asignación
       expr1 , expr2
              coma

       Shell variables are allowed as operands;  parameter  expansion  is  performed  before  the
       expression  is evaluated.  Within an expression, shell variables may also be referenced by
       name without using the parameter expansion syntax.  A shell variable that is null or unset
       evaluates  to 0 when referenced by name without using the parameter expansion syntax.  The
       value of a variable is evaluated as an arithmetic expression when  it  is  referenced,  or
       when  a variable which has been given the integer attribute using declare -i is assigned a
       value.  A null value evaluates to 0.  A shell variable need not have its integer attribute
       turned on to be used in an expression.

       Integer  constants  follow  the  C  language  definition,  without  suffixes  or character
       constants.  Constants with a leading 0 are interpreted as octal numbers.  A leading 0x  or
       0X  denotes  hexadecimal.   Otherwise,  numbers take the form [base#]n, where the optional
       base is a decimal number between 2 and 64 representing the arithmetic base,  and  n  is  a
       number  in that base.  If base# is omitted, then base 10 is used.  When specifying n, if a
       non-digit is required, the digits greater than 9 are represented by the lowercase letters,
       the  uppercase  letters,  @,  and  _, in that order.  If base is less than or equal to 36,
       lowercase and uppercase letters may be used interchangeably to represent  numbers  between
       10 and 35.

       Los operadores se evalúan en orden de precedencia. Las sub-expresiones entre paréntesis se
       evalúan primero y pueden sustituir a las reglas de precedencia anteriores.

EXPRESIONES CONDICIONALES

       Conditional expressions are used by the [[ compound command and the  test  and  [  builtin
       commands  to test file attributes and perform string and arithmetic comparisons.  The test
       and [ commands determine their  behavior  based  on  the  number  of  arguments;  see  the
       descriptions of those commands for any other command-specific actions.

       Expressions are formed from the following unary or binary primaries.  Bash handles several
       filenames specially when they are used in expressions.  If the operating system  on  which
       bash  is  running  provides  these  special  files,  bash will use them; otherwise it will
       emulate them internally with this behavior: If any file argument to one of  the  primaries
       is  of the form /dev/fd/n, then file descriptor n is checked.  If the file argument to one
       of the primaries is one of /dev/stdin, /dev/stdout, or /dev/stderr, file descriptor 0,  1,
       or 2, respectively, is checked.

       Salvo  que  se indique lo contrario, las primarias que operan en archivos seguirán enlaces
       simbólicos operando en el archivo enlazado en lugar de hacerlo sobre el propio enlace.

       Cuando se emplea con [[, los operadores < y > ordenan de modo lexicográfico en base  a  la
       configuración de idioma del equipo. La orden test realiza la ordenación en base a ASCII.

       -a archivo
              Verdad si archivo existe.
       -b archivo
              Verdad si archivo existe y es un archivo especial de bloques.
       -c fichero
              Verdad si fichero existe y es un fichero especial de caracteres.
       -d fichero
              Verdad si fichero existe y es un directorio.
       -e fichero
              Verdad si archivo existe.
       -f fichero
              Verdad si fichero existe y es un fichero regular.
       -g fichero
              Verdad si fichero existe y tiene el bit SGID.
       -h fichero
              Verdad si archivo existe y es un enlace simbólico o blando.
       -k archivo
              Verdad si archivo existe y tiene el bit 'pegajoso' (STIcky).
       -p fichero
              Verdad si fichero existe y es una tubería con nombre (FIFO).
       -r fichero
              Verdad si fichero existe y se puede leer.
       -s fichero
              Verdad si fichero existe y tiene un tamaño mayor que cero.
       -t fd  Verdad si el descriptor de fichero fd está abierto y se refiere a una terminal.
       -u fichero
              Verdad si fichero existe y tiene el bit SUID.
       -w fichero
              Verdad si fichero existe y se puede modificar.
       -x fichero
              Verdad si fichero existe y es ejecutable.
       -G fichero
              Verdad si fichero existe y su grupo es el GID efectivo.
       -L fichero
              Verdad si archivo existe y es un enlace simbólico o blando.
       -N fichero
              Verdad si fichero existe y ha sido modificado desde que se leyó la última vez.
       -O fichero
              Verdad si fichero existe y su propietario es el UID efectivo.
       -S fichero
              Verdad si fichero existe y es un zócalo (socket).
       fichero1 -ef fichero2
              Verdad si archivo1 y archivo2 tienen los mismos números de nodo-í y de dispositivo.
       fichero1 -nt fichero2
              Verdad si archivo1 es más reciente (según la fecha de modificación) que archivo2, o
              si archivo1 existe mientras que archivo2 no.
       archivo1 -ot archivo2
              Verdad si archivo1 es más antiguo que archivo2, o si archivo2 existe  mientras  que
              archivo1 no.
       -o nombre-opción
              Verdad  si  la  opción  de  la  shell nombre-opción está activada.  Vea la lista de
              opciones bajo la descripción de la opción -o de la orden interna set más adelante.
       -v nombre-variable
              Verdadero si está definida la variable de la shell varname (se le  ha  asignado  un
              valor).
       -R nombre-variable
              Verdadero  si  la variable de la shell varname está definida y es una referencia de
              nombre.
       -z cadena
              Verdad si la longitud de cadena es cero.
       cadena
       -n cadena
              Verdad si la longitud de cadena no es cero.

       cadena1 == cadena2
       cadena1 = cadena2
              True if the strings are equal.  = should be used with the test  command  for  POSIX
              conformance.   When  used  with  the  [[ command, this performs pattern matching as
              described above (Compound Commands).

       cadena1 != cadena2
              Verdad si las cadenas no son iguales.

       cadena1 < cadena2
              Verdad si cadena1 se ordena lexicográficamente antes de cadena2.

       cadena1 > cadena2
              Verdad si cadena1 se clasifica lexicográficamente tras cadena2.

       arg1 OP arg2
              OP is one of -eq, -ne, -lt, -le, -gt, or -ge.  These  arithmetic  binary  operators
              return  true  if  arg1 is equal to, not equal to, less than, less than or equal to,
              greater than, or greater than or equal to arg2, respectively.  Arg1 and arg2 may be
              positive  or  negative  integers.  When used with the [[ command, Arg1 and Arg2 are
              evaluated as arithmetic expressions (see ARITHMETIC EVALUATION above).

EXPANSIÓN DE ORDEN SIMPLE

       Cuando se  ejecuta  una  orden  simple,  la  shell  realiza  las  siguientes  expansiones,
       asignaciones y redirecciones, de izquierda a derecha en el siguiente orden:

       1.     Las  palabras que el analizador ha marcado como asignaciones de variables (aquéllas
              que preceden al nombre de la orden) y redirecciones se guardan  para  un  procesado
              posterior.

       2.     Las palabras que no sean asignaciones de variables ni redirecciones se expanden. Si
              tras la expansión quedan aún palabras, la primera palabra se toma como el nombre de
              la orden y las palabras restantes son los argumentos.

       3.     Se ejecutan las redirecciones como se describió más arriba bajo REDIRECCIÓN.

       4.     El texto tras el = en cada asignación de variable está sujeto a expansión de tilde,
              expansión de parámetro, sustitución de orden, expansión aritmética y  eliminado  de
              comillas antes de ser asignado a la variable.

       Si  no  resulta  ningún  nombre de orden, las asignaciones de variables afectan al entorno
       actual de la shell. De otro modo, las variables se añaden al entorno de la orden ejecutada
       y  no  afectan al entorno de la shell en curso.  Si cualquiera de las asignaciones intenta
       dar un valor a una variable de lectura exclusiva, se produce un error, y  la  orden  acaba
       con un estado distinto de cero.

       Si  no  resulta  ningún  nombre  de  orden, se hacen las redirecciones, pero no afectan al
       entorno de la shell en curso. Un error de redirección hace  que  el  shell  acabe  con  un
       estado distinto de cero.

       Si hay un nombre de orden tras la expansión, la ejecución procede como se describió antes.
       De otro modo, la orden sale. Si una de las expansiones contenía una sustitución de  orden,
       el  estado  de salida de la orden es el de la última sustitución de orden realizada. Si no
       había sustituciones de órdenes, la orden acaba con un estado de cero.

EJECUCIÓN DE ÓRDENES

       Después de que una orden ha sido dividida en palabras, si el resultado es una orden simple
       y una lista opcional de argumentos, tienen lugar las siguientes acciones.

       Si  el  nombre de la orden no contiene barras inclinadas, la shell intenta localizarla. Si
       existe una función de la shell con ese nombre, esa función  se  llama  como  se  describió
       arriba  en  FUNCIONES.   Si  el  nombre no coincide con el de ninguna función, la shell lo
       busca en la lista de órdenes internas. Si se  encuentra,  se  llama  a  la  orden  interna
       correspondiente.

       Si  el  nombre no es ni una función de la shell ni una orden interna, y no contiene barras
       inclinadas, bash busca en cada elemento de PATH un  directorio  que  contenga  un  archivo
       ejecutable  con  ese nombre.  Bash emplea una tabla de dispersión (hash) para recordar los
       nombres de ruta completos de los archivos ejecutables (consulte hash en ÓRDENES NATIVAS DE
       LA  SHELL  a  continuación).   Solo se realiza una búsqueda completa de los directorios de
       PATH si la orden no se encuentra en la tabla de llamada  command_not_found_handle.  Si  la
       función  existe,  se  invoca  en  un  entorno  de  ejecución  separado  con la orden y sus
       argumentos originales, el valor de salida de esta función será el de esa subshell.  Si  la
       función  no  está  definida,  la shell muestra un mensaje de error y devuelve un estado de
       salida de 127.

       Si la búsqueda fue exitosa, o si  el  nombre  de  la  orden  contiene  una  o  más  barras
       inclinadas,  la  shell  ejecuta  el  programa  con  ese  nombre en un entorno de ejecución
       separado.  El argumento 0 se pone al nombre dado, y el resto de argumentos de la orden  se
       ponen a los argumentos dados, si los hay.

       Si esta ejecución fallara porque el fichero no tuviera un formato ejecutable, y el fichero
       no fuera un directorio, se supone que es un script de la shell, un  fichero  que  contiene
       órdenes  de la shell. Se crea un subshell para ejecutarlo.  Este subshell se reinicia a sí
       mismo, así que el efecto es el mismo que si  se  hubiera  llamado  una  nueva  shell  para
       manejar  el  script, con la excepción de que el hijo retiene las localizaciones de órdenes
       recordadas por el padre (vea hash más adelante en ÓRDENES NATIVAS DE LA SHELL).

       Si el programa es un fichero que empieza con los dos caracteres #!, el resto de la primera
       línea  especifica  un  intérprete  para  el  programa.  El  shell  ejecuta  el  intérprete
       especificado en sistemas  operativos  que  no  manejen  por  sí  mismos  este  formato  de
       ejecutable.  Los argumentos del intérprete consisten en un solo argumento opcional tras el
       nombre del intérprete en la primera línea del programa, seguido del nombre  del  programa,
       seguido por los argumentos de la orden, si los hubiera.

ENTORNO DE EJECUCIÓN DE ÓRDENES

       la shell tiene un entorno de ejecución, que consiste en lo siguiente:

       •      ficheros  abiertos  heredados  por  la  shell  en la llamada, quizás modificada por
              redirecciones suministradas a la orden interna exec

       •      el directorio de trabajo en curso, establecido por cd, pushd o popd, o heredado por
              la shell en la llamada

       •      la  máscara  de  modo de creación de ficheros, establecida por umask o heredada del
              padre de la shell

       •      las trampas en curso establecidas por trap

       •      parámetros de la shell que han sido establecidos por asignaciones  de  variables  o
              con set, o heredados del padre de la shell en el entorno

       •      funciones  de  la  shell definidas durante la ejecución o heredadas del padre de la
              shell en el entorno

       •      opciones activadas en la llamada (bien por omisión  o  mediante  argumentos  en  la
              línea de órdenes) o por set

       •      opciones activadas mediante shopt

       •      alias de la shell definidos con alias

       •      varios  identificadores  de  proceso, incluyendo los de tareas en segundo plano, el
              valor de $$, y el valor de $PPID

       Cuando una orden simple distinta de una interna  o  una  función  de  la  shell  se  va  a
       ejecutar,  se  llama  en  un entorno de ejecución separado que consiste en lo siguiente. A
       menos que se diga otra cosa, los valores se heredan del shell.

       •      los ficheros abiertos de la shell, más las modificaciones y adiciones especificadas
              en la orden por redirecciones

       •      el directorio de trabajo en curso

       •      la máscara de modo de creación de ficheros

       •      variables  de la shell marcadas para la exportación, junto con variables exportadas
              para la orden, pasadas en el entorno

       •      las trampas capturadas por la shell se restauran a los valores del padre del shell,
              y las trampas que no son tenidas en cuenta por la shell tampoco lo son

       Una  orden llamada en este entorno separado no puede afectar al entorno de ejecución de la
       shell.

       Command substitution, commands grouped with parentheses,  and  asynchronous  commands  are
       invoked  in  a  subshell  environment that is a duplicate of the shell environment, except
       that traps caught by the shell are reset to the values that the shell inherited  from  its
       parent  at  invocation.   Builtin commands that are invoked as part of a pipeline are also
       executed in a subshell environment.  Changes  made  to  the  subshell  environment  cannot
       affect the shell's execution environment.

       Subshells spawned to execute command substitutions inherit the value of the -e option from
       the parent shell.  When not in posix mode, bash clears the -e option in such subshells.

       If a command is followed by a & and job control is not active, the default standard  input
       for  the command is the empty file /dev/null.  Otherwise, the invoked command inherits the
       file descriptors of the calling shell as modified by redirections.

ENTORNO

       Cuando se llama a un programa, se le da un vector de  cadenas  de  caracteres  llamado  el
       entorno.  Esto es una lista de parejas nombre-valor, de la forma nombre=valor.

       La  shell  proporciona  diversos  medios  para manipular el entorno. Al inciarse, la shell
       busca en  su  entorno  y  crea  un  parámetro  para  cada  nombre  encontrado,  marcándolo
       automáticamente para exportar a procesos hijos. Las órdenes ejecutadas heredan el entorno.
       Las órdenes export y declare -x permiten  añadir  y  quitar  parámetros  y  funciones  del
       entorno.  Si  el  valor  de  un parámetro en el entorno se modifica, el nuevo valor pasa a
       formar parte del entorno, reemplazando al antiguo. El entorno heredado por cualquier orden
       ejecutada  consiste  en  el  entorno  inicial  de  la  shell,  cuyos  valores  pueden  ser
       modificados, menos las parejas quitadas mediante la orden unset más las adiciones con  las
       órdenes export y declare -x.

       El   entorno  para  cualquier  orden  simple  o  función  puede  aumentarse  temporalmente
       prefijándola con asignaciones de parámetros,  como  se  describió  arriba  en  PARÁMETROS.
       Estas sentencias de asignación afectan solamente al entorno visto por esa orden.

       Si  la  opción  -k está puesta (vea la orden interna set más adelante), entonces todas las
       asignaciones de parámetros se ponen en el entorno para una orden, no solo las que preceden
       a su nombre.

       Cuando  bash  llama  a una orden externa, la variable _ se pone con el nombre completo del
       fichero de la orden y se pasa a esa orden en su entorno.

ESTADO DE SALIDA

       El estado de salida de una orden ejecutada es el  valor  retornado  por  las  llamada  del
       sistema waitpid o una función equivalente. El valor de los estados de salida varía entre 0
       y 255, aunque como se explica más adelante, la shell suele usar valores superiores a  125.
       Los  estados  de  salida  de  las  órdenes nativas de la shell y de las órdenes compuestas
       también están limitadas a ese intervalo. En circunstancias concretas,  la  shell  empleará
       valores especiales para indicar algún error específico.

       Para  los  propósitos  de  la  shell, una orden que acabe con un estado de salida cero, ha
       tenido éxito. Un estado de salida de cero indica éxito. Un estado de  salida  distinto  de
       cero  indica  fallo.  Cuando una orden termina por una señal fatal N, bash emplea el valor
       de 128+N como el estado de salida.

       Si una orden no se encuentra, el proceso hijo creado para ejecutarla devuelve un estado de
       127. Si una orden se encuentra pero no es ejecutable, el estado de salida es 126.

       Si  una  orden  falla  debido  a un error durante la expansión o redirección, el estado de
       salida es mayor que cero.

       Las órdenes nativas de la shell devuelven un estado de 0 (verdad) si acaban con  éxito,  y
       distinto  de  cero  (falso)  si  ocurre  un  error mientras se ejecutan. Todas las órdenes
       nativas devuelven un estado de salida de 2 para indicar  un  modo  de  empleo  incorrecto,
       habitualmente el uso de opciones no válidas o la falta de algún argumento.

       El  propio  bash  devuelve  el  estado de salida de la última orden ejecutada, a menos que
       ocurra un error de sintaxis, en cuyo caso acaba con un estado distinto de  cero.  Consulte
       la orden interna exit más adelante.

SEÑALES

       Cuando  bash  es  interactivo, en la ausencia de trampas, no hace caso de SIGTERM (de modo
       que kill 0 no mata una shell interactiva), y se captura y maneja SIGINT (de manera que  la
       orden  interna  wait es interrumpible).  En todos los casos, bash no hace caso de SIGQUIT.
       Si el control de tareas tiene efecto, bash no hace caso de SIGTTIN, SIGTTOU, y SIGTSTP.

       Las órdenes no nativas ejecutadas por bash  tienen  gestores  de  señales  puestos  a  los
       valores  heredados  por la shell de su padre.  Cuando el control de tareas no está activo,
       las órdenes asíncronas ignorarán  SIGINT  y  también  SIGQUIT  además  de  estos  gestores
       heredados.  Las  órdenes  ejecutadas  como  resultado  de sustitución de orden ignoran las
       señales de control de tareas generadas mediante el teclado SIGTTIN, SIGTTOU, ni SIGTSTP.

       la shell, de forma predeterminada, finaliza al recibir una señal SIGHUP. Antes  de  salir,
       reenvía  la  señal  SIGHUP  a  todas  las  tareas,  en  ejecución o paradas.  A las tareas
       detenidas se les envía SIGCONT para asegurarse de  que  reciben  la  señal  SIGHUP.   Para
       evitar que la shell envíe la señal a una tarea en particular, debería quitarse de la lista
       con la orden nativa disown (vea ÓRDENES NATIVAS DE LA SHELL más adelante) o marcarlo  para
       no recibir SIGHUP empleando disown -h.

       Si  la  opción  de  la  shell  huponexit se ha puesto mediante shopt, bash envía una señal
       SIGHUP a todas las tareas cuando una shell de entrada interactiva finaliza.

       If bash is waiting for a command to complete and receives a signal for which  a  trap  has
       been set, the trap will not be executed until the command completes.  When bash is waiting
       for an asynchronous command via the wait builtin, the reception of a signal  for  which  a
       trap  has  been  set will cause the wait builtin to return immediately with an exit status
       greater than 128, immediately after which the trap is executed.

CONTROL DE TAREAS

       El control de tareas se refiere a la capacidad  de  parar  selectivamente  (suspender)  la
       ejecución  de  procesos  y  continuar  (reanudar)  su ejecución posteriormente. Un usuario
       emplea esta utilidad generalmente  a  través  de  una  interfaz  interactiva  suministrada
       conjuntamente por el controlador del terminal del núcleo del sistema operativo y bash.

       la  shell  asocia  un  trabajo con cada tubería. Mantiene una tabla de tareas ejecutándose
       actualmente, que pueden listarse con la  orden  jobs.   Cuando  bash  arranca  un  trabajo
       asíncronamente (en segundo plano), imprime una línea con un aspecto como ésta:

              [1] 25647

       indicando  que  este  trabajo es el número 1 y que el PID del último proceso en la tubería
       asociada con él es 25647.  Todos los procesos en una misma tubería son miembros del  mismo
       trabajo.  Bash emplea la abstracción del trabajo como la base para el control de tareas.

       To  facilitate  the  implementation  of  the  user interface to job control, the operating
       system maintains the notion of a current terminal  process  group  ID.   Members  of  this
       process  group  (processes whose process group ID is equal to the current terminal process
       group ID)  receive keyboard-generated signals such as SIGINT.  These processes are said to
       be  in the foreground.  Background processes are those whose process group ID differs from
       the terminal's; such processes are immune to keyboard-generated signals.  Only  foreground
       processes are allowed to read from or, if the user so specifies with stty tostop, write to
       the terminal.  Background processes which attempt to read from (write to when stty  tostop
       is  in  effect)  the terminal are sent a SIGTTIN (SIGTTOU) signal by the kernel's terminal
       driver, which, unless caught, suspends the process.

       Si el sistema operativo en el que bash se está ejecutando, admite el control de  tareas  y
       bash da facilidades para su uso. Teclear el carácter suspender (típicamente ^Z, Control-Z)
       mientras que un proceso se está ejecutando, hace que ese proceso se pare y le  devuelve  a
       Ud. al bash.  Teclear el carácter suspensión diferida (típicamente ^Y, Control-Y) hace que
       el proceso se pare cuando intente leer entrada desde la terminal, y el control se devuelve
       a bash.  El usuario puede entonces manipular el estado de este trabajo, empleando la orden
       bg para continuar con él en segundo plano, la orden fg para continuar  con  él  en  primer
       plano,  o la orden kill para matarlo. Un ^Z tiene efecto inmediatamente, y tiene el efecto
       adicional colateral de que la salida pendiente y lo que haya en el búfer  de  entrada  del
       teclado se descartan.

       There  are  a number of ways to refer to a job in the shell.  The character % introduces a
       job specification (jobspec).  Job number n may be referred to as %n.  A job  may  also  be
       referred to using a prefix of the name used to start it, or using a substring that appears
       in its command line.  For example, %ce refers to a stopped job whose command  name  begins
       with  ce.   If  a prefix matches more than one job, bash reports an error.  Using %?ce, on
       the other hand, refers to any job containing the string ce in its command  line.   If  the
       substring  matches  more than one job, bash reports an error.  The symbols %% and %+ refer
       to the shell's notion of the current job, which is the last job stopped while  it  was  in
       the foreground or started in the background.  The previous job may be referenced using %-.
       If there is only a single job, %+ and %- can both be used to refer to that job.  In output
       pertaining  to  jobs  (e.g.,  the  output  of the jobs command), the current job is always
       flagged with a +, and the previous job with a -.  A single %  (with  no  accompanying  job
       specification) also refers to the current job.

       Si  simplemente  damos el nombre de una tarea, esto puede traerlo a primer plano: %1 es un
       sinónimo de “fg %1”, que trae el trabajo número 1  desde  el  segundo  plano  al  primero.
       Similarmente, “%1 &” reanuda la tarea 1 en segundo plano, equivalente a “bg %1”.

       La  shell  se  entera  inmediatamente cuando una tarea cambia de estado. Normalmente, bash
       espera hasta que está a punto de mostrar un indicador antes de informar de cambios  en  el
       estado  de  una  tarea,  para  no interrumpir cualquier otra salida. Si la opción -b de la
       orden interna set está activada, bash informa de tales cambios  inmediatamente.  Cualquier
       trampa en SIGCHILD será ejecutada para cada descendiente que termine.

       If  an  attempt  to  exit  bash is made while jobs are stopped (or, if the checkjobs shell
       option has been enabled using the shopt builtin, running),  the  shell  prints  a  warning
       message,  and, if the checkjobs option is enabled, lists the jobs and their statuses.  The
       jobs command may then be used to inspect their status.  If a second  attempt  to  exit  is
       made  without  an  intervening  command, the shell does not print another warning, and any
       stopped jobs are terminated.

       Cuando la shell está esperando por una tarea o un proceso con la orden interna wait  y  el
       control  de  tareas  está  activado,  wait  retornará cuando la tarea cambie su estado. La
       opción -f hace que wait espere hasta que la tarea o el proces termine para retornar.

INDICADORES

       Cuando se ejecuta interactivamente, bash muestra el indicador  primario  PS1  cuando  está
       dispuesto  para  leer  una  orden,  y  el  secundario PS2 cuando necesita más entrada para
       completar una orden.  Bash muestra el indicador PS0 después  de  recibir  una  orden  pero
       antes  de  ejecutarla. Bash muestra PS4 como se describió anteriormente antes de seguir la
       ejecución de cada orden cuando la opción -x está activada. Bash permite personalizar estos
       indicadores  insertando  caracteres  especiales  protegidos  con  barras invertidas que se
       interpretarán de este modo:
              \a     un carácter de alerta ASCII (07)
              \d     la fecha en el formato "Día-Semana Mes  Día"  (ejemplo,  "Tue  May  26")  en
                     inglés
              \D{formato}
                     el  formato  se envía a strftime(3) y el resultado se introduce en la cadena
                     del indicador; si formato está en blanco, se mostrará la  fecha  y  hora  en
                     formato local. Las llaves son necesarias
              \e     un carácter de escape (ESC) ASCII (033)
              \h     el nombre del equipo anfitrión hasta el primer `.'
              \H     el nombre del equipo anfitrión completo
              \j     la cantidad de tareas gestionadas por la shell al mismo tiempo
              \l     el nombre base del nombre de dispositivo del terminal de la shell
              \n     salto de línea
              \r     retorno de carro
              \s     el  nombre  de  la  shell,  el  nombre base de $0 (la porción que sigue a la
                     última barra inclinada)
              \t     la hora actual en el formato de 24 horas HH:MM:SS
              \T     la hora actual en el formato de    12 horas HH:MM:SS
              \@     la hora actual en el formato de 12 horas con indicador AM/PM
              \A     la hora actual en el formato de 24 horas HH:MM
              \u     el nombre de usuario del usuario en curso
              \v     la versión de bash (e.g., 2.00)
              \V     la distribución de bash, versión + nivel de parcheo (e.g., 2.00.0)
              \w     directorio de trabajo actual, $HOME se abreviará con una  tilde  (emplea  el
                     valor de la variable PROMPT_DIRTRIM)
              \W     el  nombre  base  del directorio de trabajo actual, $HOME se abrevia con una
                     tilde.
              \!     el número de historia de esta orden
              \#     el número de orden de esta orden
              \$     si el UID efectivo es 0 (el super-usuario), un #, si no un $
              \nnn   el carácter correspondiente al número octal nnn
              \\     una barra inclinada invertida
              \[     empieza una secuencia de caracteres no  imprimibles,  que  pueden  emplearse
                     para empotrar una secuencia de control del terminal en el indicador
              \]     termina una secuencia de caracteres no imprimibles

       El  número  de  orden  y  el  número  de  historia son usualmente diferentes: el número de
       historia de una orden es su posición en la lista de historia, que  puede  incluir  órdenes
       restauradas  desde  el historial (consulte HISTORIAL más adelante), mientras que el número
       de orden es la posición en la secuencia de órdenes ejecutadas durante la sesión  de  shell
       actual.   Después  de  que la cadena es descodificada, se expande mediante la expansión de
       parámetros,  sustitución  de  órdenes,  expansión  aritmética,  expansión  de  cadena,   y
       eliminación  de  comillas,  sujeta  al  valor  de la opción de la shell promptvars (vea la
       descripción de la orden shopt bajo ÓRDENES INTERNAS  DE LA SHELL más adelante). Esto puede
       tener  algún  efecto  indeseado  si  la  parte protegida de la cadena aparece dentro de la
       sustitución de órdenes o contiene algún caracter especial para la expansión de palabras.

READLINE

       This is the library that handles reading input when using an interactive shell, unless the
       --noediting option is given at shell invocation.  Line editing is also used when using the
       -e option to the read builtin.  By default, the line editing commands are similar to those
       of  Emacs.   A  vi-style  line  editing  interface is also available.  Line editing can be
       enabled at any time using the -o emacs or -o vi options to  the  set  builtin  (see  SHELL
       BUILTIN  COMMANDS below).  To turn off line editing after the shell is running, use the +o
       emacs or +o vi options to the set builtin.

   Notación de Readline
       En esta sección, se emplea la notación al estilo de Emacs para denotar  las  teclas.   Las
       teclas  de  control  se representan por medio de C-tecla; así, C-n significa Control-N. De
       forma similar, las teclas meta (Alt)   se  representan  con  M-tecla,  de  forma  que  M-x
       significa  Meta-X. (En teclados sin tecla meta, M-x significa ESC x, i.e., pulsar la tecla
       de escape (Esc) y luego la  tecla  x.   Esto  hace  que  ESC  sea  el  prefijo  meta.   La
       combinación  M-C-x  quiere  decir ESC-Control-x, o pulsar la tecla Escape y luego mantener
       presionada la tecla Control mientras se pulsa la tecla x.)

       Las órdenes de readline pueden recibir argumentos numéricos que actúan normalmente como un
       número  de  repetición.   Algunas  veces, empero, lo que tiene significado es el signo del
       argumento. Pasar un argumento negativo a una orden que actúa en la dirección adelante  (p.
       ej.,  kill-line)  hace  que  esa  orden actúe en la dirección contraria, hacia atrás.  Las
       órdenes cuyo comportamiento con argumentos se desvíe de esto se señalan más adelante.

       Cuando una orden se describe como que corta texto, el texto borrado  se  guarda  para  una
       posible  futura  recuperación  (pegado). El texto cortado se guarda en un anillo de corte.
       Cortes consecutivos hacen que el texto se acumule en una unidad, que puede pegarse toda de
       golpe,  de  una  vez.  Las  órdenes  que no cortan texto separan los trozos de texto en el
       anillo de corte.

   Inicio de Readline
       Readline se personaliza poniendo órdenes en un archivo de inicio (el archivo inputrc).  El
       nombre  de este archivo se toma del valor de la variable INPUTRC. Si esta variable no está
       definida, el valor predeterminado es /etc/inputrc. Cuando un programa que hace uso  de  la
       biblioteca readline arranca, el archivo de inicio se lee, y se establecen las definiciones
       de teclas y variables.  Solo se permiten unas pocas construcciones básicas en  el  archivo
       de  inicio  de  readline.   Las  líneas  en blanco no se tienen en cuenta.  Las líneas que
       comiencen con  un  #  son  comentarios.   Las  líneas  que  comiencen  con  un  $  indican
       construcciones   condicionales.    Otras  líneas  representan  definiciones  de  teclas  y
       definiciones de variables.

       Las definiciones predeterminadas de teclas pueden cambiarse con un fichero inputrc.  Otros
       programas que usen esta biblioteca pueden añadir sus propias órdenes y definiciones.

       Por ejemplo, el poner

              M-Control-u: universal-argument
       o
              C-Meta-u: universal-argument
       dentro   del   fichero   inputrc   haría   que   M-C-u  ejecutara  la  orden  de  readline
       universal-argument.

       Se reconocen los siguientes nombres simbólicos  de  caracteres:  RUBOUT,  DEL,  ESC,  LFD,
       NEWLINE, RET, RETURN, SPC, SPACE, y TAB.

       Además  de  los  nombres de órdenes, readline permite que se enlace una tecla cualquiera a
       una cadena de caracteres que se inserta cuando la tecla se pulse (una macro).

   Definiciones de Teclas de Readline
       La sintaxis para controlar las definiciones de teclas en el  fichero  inputrc  es  simple.
       Todo  lo  que se requiere es el nombre de la orden o el texto de una macro y una secuencia
       de teclas con la cual debe enlazarse. El nombre se puede especificar en una de dos formas:
       como  un nombre simbólico de tecla, posiblemente con prefijos Meta- o Control-, o como una
       secuencia de teclas.

       Cuando se use la forma nombre-tecla:nombre-función o macro, nombre-tecla es el  nombre  de
       una tecla en inglés. Por ejemplo:

              Control-u: universal-argument
              Meta-Rubout: backward-kill-word
              Control-o: "> salida"

       En el ejemplo de arriba, C-u se enlaza a la función universal-argument, M-DEL se vincula a
       la función backward-kill-word, y C-o se define como que se ejecute la macro  expresada  en
       la parte derecha (esto es, insertar el texto ``> output'' en la línea).

       En   la   segunda  forma,  "sectecla":nombre-función  o  macro,  sectecla  difiere  de  la
       nombre-tecla de antes en que las cadenas que representan una secuencia  entera  de  teclas
       pueden  especificarse  poniendo la secuencia entre comillas dobles. Así se pueden utilizar
       algunas teclas de escape al estilo de GNU Emacs, como en el siguiente ejemplo, pero no  se
       reconocen los nombres de caracteres simbólicos.

              "\C-u": universal-argument
              "\C-x\C-r": re-read-init-file
              "\e[11~": "Tecla de Función 1"

       En  este  ejemplo,  C-u  se  enlaza  de nuevo a la función universal-argument.  C-x C-r se
       vincula a la función re-read-init-file, y ESC [ 1 1 ~ se define como  que  se  inserte  el
       texto ``Function Key 1''.

       El conjunto completo de las secuencias de escape al estilo de GNU Emacs es
              \C-    prefijo de control
              \M-    prefijo meta
              \e     un carácter de escape (ESC)
              \\     barra invertida
              \"     una " literal
              \'     una ' literal

       Además  de  las  secuencias  de  escape  al  estilo de GNU Emacs, se dispone de un segundo
       conjunto de escapes con la barra invertida:
              \a     alerta (pitido)
              \b     espacio-atrás
              \d     espacio atrás
              \f     nueva página
              \n     salto de línea
              \r     retorno de carro
              \t     tabulación horizontal
              \v     tabulación vertical
              \nnn   el carácter de 8 bits cuyo código es el valor  octal  nnn  (de  uno  a  tres
                     dígitos)
              \xHH   el  carácter  de  8-bits  cuyo  código es el valor hexadecimal HH (uno o dos
                     dígitos hexadecimales)

       Cuando se mete el texto de una macro, se deben emplear  comillas  simples  o  dobles  para
       indicar  una  definición  de  macro.   El  texto  no entrecomillado se supone un nombre de
       función.  En el cuerpo de la macro, los escapes con barra inversa de arriba  se  expanden.
       La barra inversa protegerá a cualquier otro carácter en el texto de la macro, incluyendo a
       " y a '.

       Bash permite mostrar o modificar las definiciones de teclas en  curso  mediante  la  orden
       interna bind.  El modo de edición puede cambiarse durante una sesión interactiva empleando
       la opción -o de la orden interna set (vea ÓRDENES NATIVAS DE LA SHELL más adelante).

   Variables de Readline
       Readline tiene variables que se pueden usar para personalizar más aún  su  comportamiento.
       Una variable se puede definir en el fichero inputrc con una sentencia de la forma

              set nombre-variable valor
       o bien empleando la orden nativa bind (consulte ÓRDENES NATIVAS DE LA SHELL más adelante).

       Except  where  noted,  readline variables can take the values On or Off (without regard to
       case).  Unrecognized variable names are ignored.  When a variable value is read, empty  or
       null  values, "on" (case-insensitive), and "1" are equivalent to On.  All other values are
       equivalent to Off.  The variables and their default values are:

       bell-style (audible)
              Controla qué pasa cuando readline quiere tocar el  pito  de  la  terminal.   Si  se
              define  como  none, readline nunca toca el pito. Si se pone a visible, readline usa
              una alerta visible si está disponible.  Si se pone como audible,  readline  intenta
              hacer sonar el pito de la terminal.
       bind-tty-special-chars (On)
              If set to On, readline attempts to bind the control characters treated specially by
              the kernel's terminal driver to their readline equivalents.
       blink-matching-paren (Off)
              If set to  On,  readline  attempts  to  briefly  move  the  cursor  to  an  opening
              parenthesis when a closing parenthesis is inserted.
       colored-completion-prefix (Off)
              If  set to On, when listing completions, readline displays the common prefix of the
              set of possible completions using a different color.   The  color  definitions  are
              taken from the value of the LS_COLORS environment variable.
       colored-stats (Off)
              If  set  to  On,  readline  displays possible completions using different colors to
              indicate their file type.  The color definitions are taken from the  value  of  the
              LS_COLORS environment variable.
       comment-begin (“#”)
              La  cadena  que  se  inserta cuando se ejecuta la orden de readline insert-comment.
              Esta orden está enlazada a M-# en modo emacs y a # en modo vi.
       completion-display-width (-1)
              The number of screen columns used  to  display  possible  matches  when  performing
              completion.  The value is ignored if it is less than 0 or greater than the terminal
              screen width.  A value of 0 will cause matches to be displayed one per  line.   The
              default value is -1.
       completion-ignore-case (Off)
              Si  se  pone  a  On,  readline  realiza la concordancia y terminación de nombres de
              ficheros sin importar si las letras son mayúsculas o minúsculas.
       completion-map-case (Off)
              If set to On, and completion-ignore-case is enabled, readline  treats  hyphens  (-)
              and  underscores  (_)  as  equivalent  when  performing  case-insensitive  filename
              matching and completion.
       completion-prefix-display-length (0)
              The length in characters of the common prefix of a  list  of  possible  completions
              that  is  displayed  without  modification.  When set to a value greater than zero,
              common prefixes  longer  than  this  value  are  replaced  with  an  ellipsis  when
              displaying possible completions.
       completion-query-items (100)
              This  determines  when  the  user  is  queried about viewing the number of possible
              completions generated by the possible-completions command.  It may be  set  to  any
              integer value greater than or equal to zero.  If the number of possible completions
              is greater than or equal to the value of this variable, readline will  ask  whether
              or  not  the  user  wishes  to  view  them; otherwise they are simply listed on the
              terminal.
       convert-meta (On)
              Si se pone a On, readline convertirá caracteres con el octavo bit  definido  a  una
              secuencia de teclas ASCII recortando el octavo bit y añadiendo un carácter Esc como
              prefijo (es decir, usando Esc como el prefijo meta). Por  está  definido  como  On,
              pero readline lo define como Off si la localización contiene caracteres de 8 bits.
       disable-completion (Off)
              Si  se pone a On, readline inhibirá la terminación de palabras. Los caracteres para
              la terminación se insertarán en la línea como si se hubieran hecho corresponder con
              self-insert.
       echo-control-characters (On)
              When set to On, on operating systems that indicate they support it, readline echoes
              a character corresponding to a signal generated from the keyboard.
       editing-mode (emacs)
              Controla si readline empieza con un conjunto de definiciones de  teclas  similar  a
              las de Emacs o vi.  editing-mode puede ponerse a los valores emacs o vi.
       emacs-mode-string (@)
              If   the   show-mode-in-prompt  variable  is  enabled,  this  string  is  displayed
              immediately before the last line of the primary prompt when emacs editing  mode  is
              active.  The value is expanded like a key binding, so the standard set of meta- and
              control prefixes and backslash escape sequences is available.  Use the  \1  and  \2
              escapes to begin and end sequences of non-printing characters, which can be used to
              embed a terminal control sequence into the mode string.
       enable-bracketed-paste (On)
              When set to On, readline will configure the terminal in a way that will  enable  it
              to  insert  each  paste  into  the editing buffer as a single string of characters,
              instead of treating each character as if it had been read from the keyboard.   This
              can prevent pasted characters from being interpreted as editing commands.
       enable-keypad (Off)
              Cuando  se  pone  a  On,  readline  intentará activar el teclado auxiliar cuando se
              llame. Algunos sistemas necesitan esto  para  activar  las  teclas  de  flechas  de
              cursor.
       enable-meta-key (On)
              Cuando se pone a On, readline intentará activar cualquier modificación con la tecla
              meta para la que el terminal tenga soporte. En muchos terminales, la tecla meta  se
              usa para escribir caracteres de 8 bits.
       expand-tilde (Off)
              Si  se  pone  a  On,  la  expansión  de tilde se realiza cuando readline intenta la
              terminación de palabras.
       history-preserve-point (Off)
              If set to On, the history code attempts to place point at the same location on each
              history line retrieved with previous-history or next-history.
       history-size (unset)
              Set  the  maximum  number  of history entries saved in the history list.  If set to
              zero, any existing history entries are deleted and no new entries  are  saved.   If
              set  to  a  value less than zero, the number of history entries is not limited.  By
              default, the number of history entries is set to the value of  the  HISTSIZE  shell
              variable.   If  an  attempt is made to set history-size to a non-numeric value, the
              maximum number of history entries will be set to 500.
       horizontal-scroll-mode (Off)
              When set to On, makes readline use a single line for display, scrolling  the  input
              horizontally  on  a single screen line when it becomes longer than the screen width
              rather than wrapping to a new line.  This  setting  is  automatically  enabled  for
              terminals of height 1.
       input-meta (Off)
              If  set to On, readline will enable eight-bit input (that is, it will not strip the
              eighth bit from the characters it reads), regardless of what the terminal claims it
              can  support.   The  name meta-flag is a synonym for this variable.  The default is
              Off, but readline will set it to On if the locale contains eight-bit characters.
       isearch-terminators (“C-[C-J”)
              The string of characters  that  should  terminate  an  incremental  search  without
              subsequently  executing  the character as a command.  If this variable has not been
              given a value, the characters ESC and C-J will terminate an incremental search.
       keymap (emacs)
              Establece el mapa de teclado actual para readline. El conjunto de nombres de  mapas
              de   teclado   válidos   es  emacs,  emacs-standard,  emacs-meta,  emacs-ctlx,  vi,
              vi-command, y vi-insert.  vi es equivalente a vi-command; emacs  es  equivalente  a
              emacs-standard.  El valor predeterminado es emacs; el valor de editing-mode también
              afecta al mapa de teclado predeterminado.
       keyseq-timeout (500)
              Specifies the duration readline will wait for a character when reading an ambiguous
              key  sequence  (one  that  can form a complete key sequence using the input read so
              far, or can take additional input to complete a longer key sequence).  If no  input
              is  received  within  the  timeout,  readline will use the shorter but complete key
              sequence.  The value is specified in milliseconds, so a value of  1000  means  that
              readline  will  wait one second for additional input.  If this variable is set to a
              value less than or equal to zero, or to a non-numeric  value,  readline  will  wait
              until another key is pressed to decide which key sequence to complete.
       mark-directories (On)
              Si se pone a On, los nombres de directorios completados tendrán una barra inclinada
              añadida al final.
       mark-modified-lines (Off)
              Si se pone a On, las líneas de historia que hayan sido modificadas se muestran  con
              un asterisco precediéndolas (*).
       mark-symlinked-directories (Off)
              If  set to On, completed names which are symbolic links to directories have a slash
              appended (subject to the value of mark-directories).
       match-hidden-files (On)
              This variable, when set to On, causes readline to match  files  whose  names  begin
              with  a `.' (hidden files) when performing filename completion.  If set to Off, the
              leading `.' must be supplied by the user in the filename to be completed.
       menu-complete-display-prefix (Off)
              If set to On, menu completion displays the common prefix of the  list  of  possible
              completions (which may be empty) before cycling through the list.
       output-meta (Off)
              If  set  to  On,  readline will display characters with the eighth bit set directly
              rather than as a meta-prefixed escape sequence.  The default is Off,  but  readline
              will set it to On if the locale contains eight-bit characters.
       page-completions (On)
              If  set  to On, readline uses an internal more-like pager to display a screenful of
              possible completions at a time.
       print-completions-horizontally (Off)
              Si se pone a On, readline mostrará  terminaciones  con  concordancias  clasificadas
              horizontalmente en orden alfabético, en vez de verticalmente.
       revert-all-at-newline (Off)
              If set to On, readline will undo all changes to history lines before returning when
              accept-line is executed.  By default, history lines  may  be  modified  and  retain
              individual undo lists across calls to readline.
       show-all-if-ambiguous (Off)
              Esto altera el comportamiento predeterminado de las funciones de terminación. Si se
              pone a On, las palabras que tienen más de una posible  terminación  hacen  que  las
              concordancias se muestren inmediatamente en vez de tocarse el pito de la terminal.
       show-all-if-unmodified (Off)
              This  alters  the default behavior of the completion functions in a fashion similar
              to show-all-if-ambiguous.  If set to On, words which have more  than  one  possible
              completion  without any possible partial completion (the possible completions don't
              share a common prefix) cause the  matches  to  be  listed  immediately  instead  of
              ringing the bell.
       show-mode-in-prompt (Off)
              If  set  to  On, add a string to the beginning of the prompt indicating the editing
              mode: emacs, vi command, or vi  insertion.   The  mode  strings  are  user-settable
              (e.g., emacs-mode-string).
       skip-completed-text (Off)
              If  set  to On, this alters the default completion behavior when inserting a single
              match into the line.  It's only active when performing completion in the middle  of
              a  word.   If enabled, readline does not insert characters from the completion that
              match characters after point in the word being completed, so portions of  the  word
              following the cursor are not duplicated.
       vi-cmd-mode-string ((orden))
              If   the   show-mode-in-prompt  variable  is  enabled,  this  string  is  displayed
              immediately before the last line of the primary prompt  when  vi  editing  mode  is
              active  and  in  command  mode.   The  value is expanded like a key binding, so the
              standard set of meta- and  control  prefixes  and  backslash  escape  sequences  is
              available.   Use  the  \1 and \2 escapes to begin and end sequences of non-printing
              characters, which can be used to embed a terminal control sequence  into  the  mode
              string.
       vi-ins-mode-string ((ins))
              If   the   show-mode-in-prompt  variable  is  enabled,  this  string  is  displayed
              immediately before the last line of the primary prompt  when  vi  editing  mode  is
              active  and  in  insertion  mode.  The value is expanded like a key binding, so the
              standard set of meta- and  control  prefixes  and  backslash  escape  sequences  is
              available.   Use  the  \1 and \2 escapes to begin and end sequences of non-printing
              characters, which can be used to embed a terminal control sequence  into  the  mode
              string.
       visible-stats (Off)
              Si  se  pone  a On, se añade un carácter que represente un tipo de fichero según lo
              que devuelve stat(2) cuando se listan las terminaciones posibles.

   Construcciones Condicionales de Readline
       Readline implementa una facilidad similar en espíritu a las características de compilación
       condicional  del preprocesador de C que permite que las definiciones de teclas y variables
       se realicen en función de pruebas o condiciones. Hay cuatro directivas del analizador  que
       se usan.

       $if    The  $if  construct  allows  bindings  to  be  made  based on the editing mode, the
              terminal being used, or the application using readline.   The  text  of  the  test,
              after any comparison operator,
               extends to the end of the line; unless otherwise noted, no characters are required
              to isolate it.

              mode   La forma mode= de la directiva $if se usa para ver si readline está en  modo
                     emacs  o  vi.   Esto se puede emplear en conjunción con la orden set keymap,
                     por ejemplo, para poner el teclado en los mapas emacs-standard y  emacs-ctlx
                     solo si readline está arrancando en modo emacs.

              term   La   forma  term=  puede  emplearse  para  incluir  definiciones  de  teclas
                     específicas de una terminal determinada, quizás para enlazar las  secuencias
                     de  teclas generadas por las teclas de función de la terminal. La palabra en
                     la parte derecha del = se prueba contra el nombre completo de la terminal  y
                     contra la porción del nombre de la terminal antes del primer -. Esto permite
                     que sun concuerde con sun y con sun-cmd, por ejemplo.

              version
                     The version test  may  be  used  to  perform  comparisons  against  specific
                     readline  versions.   The  version  expands to the current readline version.
                     The set of comparison operators includes =, (and ==), !=, <=, >=, <, and  >.
                     The  version number supplied on the right side of the operator consists of a
                     major version number, an optional  decimal  point,  and  an  optional  minor
                     version (e.g., 7.1). If the minor version is omitted, it is assumed to be 0.
                     The operator may be separated from the string version and from  the  version
                     number argument by whitespace.

              application
                     La  construcción application se emplea para incluir definiciones específicas
                     de la aplicación. Cada programa que usa la  biblioteca  readline  define  el
                     nombre  de  la  aplicación,  y en un archivo de inicio se puede comprobar si
                     existe un  valor  en  particular.   Esto  se  podría  emplear  para  enlazar
                     secuencias  de  teclas  a  funciones útiles para un programa específico. Por
                     ejemplo, la orden siguiente añade una secuencia de teclas  que  entrecomilla
                     la palabra en curso o la anterior en bash:

                     $if Bash
                     # Entrecomilla la palabra actual o previa
                     "\C-xq": "\eb\"\ef\""
                     $endif

              variable
                     The variable construct provides simple equality tests for readline variables
                     and values.  The permitted comparison operators are  =,  ==,  and  !=.   The
                     variable  name must be separated from the comparison operator by whitespace;
                     the operator may be separated from the value  on  the  right  hand  side  by
                     whitespace.   Both  string  and  boolean  variables  may  be tested. Boolean
                     variables must be tested against the values on and off.

       $endif Esta orden, como se ha visto en el ejemplo precedente, termina una orden $if.

       $else  Las órdenes en esta rama de la directiva $if se ejecutan si la comprobación falla.

       $include
              Esta directiva toma como argumento un solo  nombre  de  fichero  y  lee  órdenes  y
              definiciones  de  ese  fichero.  Por  ejemplo,  la  siguiente  directiva  leería de
              /etc/inputrc:

              $include  /etc/inputrc

   Búsquedas
       Readline proporciona órdenes para buscar a través del historial de órdenes (vea  HISTORIAL
       más  adelante)  líneas  que contengan una cadena especificada.  Hay dos modos de búsqueda:
       incremental y no incremental.

       La búsqueda incremental comienza antes de que el usuario haya acabado de teclear la cadena
       a  buscar.   Tan  pronto  como  se teclea cada carácter de la cadena de búsqueda, readline
       muestra la siguiente entrada de la historia que  concuerde  con  la  cadena  que  se  esté
       tecleando  hasta este punto. Una búsqueda incremental requiere solamente tantos caracteres
       como se necesiten para encontrar la  entrada  deseada  en  el  historial.  Los  caracteres
       contenidos  en  la  variable  isearch-terminators  se  emplean  para terminar una búsqueda
       incremental. Control-G terminará una búsqueda incremental reataurando la  línea  original.
       Una vez que la búsqueda termine, la línea del historial que contenga la cadena de búsqueda
       pasa a ser la línea actual.

       To find other matching entries in  the  history  list,  type  Control-S  or  Control-R  as
       appropriate.   This  will  search  backward  or  forward in the history for the next entry
       matching the search string typed so far.  Any other  key  sequence  bound  to  a  readline
       command  will terminate the search and execute that command.  For instance, a newline will
       terminate the search and accept the line, thereby executing the command from  the  history
       list.

       Readline  remembers  the  last  incremental  search  string.   If two Control-Rs are typed
       without any intervening characters defining a new search  string,  any  remembered  search
       string is used.

       Las búsquedas no incrementales leen la cadena de búsqueda entera antes de empezar a buscar
       en las líneas de la lista de historia. La cadena de búsqueda puede  ser  tecleada  por  el
       usuario o ser parte de los contenidos de la línea en curso.

   Nombres de Órdenes de Readline
       Lo  siguiente  es  una  lista  de  los  nombres  de las órdenes y las secuencias de teclas
       predeterminadas a las que están asociadas.  Los nombres de órdenes sin  una  secuencia  de
       tecla  acompañante  pertenecen  a  órdenes  que  no están asociadas a ninguna secuencia de
       teclas de forma predeterminada. En las siguientes descripciones, punto  se  refiere  a  la
       posición  actual  del  cursor y marca se refiere a una posición guardada mediante la orden
       set-mark. El texto en dicho punto y la marca es lo que se conoce como region.

   Órdenes para el Movimiento
       beginning-of-line (C-a)
              Mover al principio de la línea en curso.
       end-of-line (C-e)
              Mover al final de la línea.
       forward-char (C-f)
              Mover un carácter hacia adelante.
       backward-char (C-b)
              Mover un carácter hacia atrás.
       forward-word (M-f)
              Mover adelante hasta el final de la siguiente palabra. Las palabras se componen  de
              caracteres alfanuméricos (letras y dígitos).
       backward-word (M-b)
              Mover  atrás  hasta  el  principio  de esta palabra o la anterior.  Las palabras se
              componen de caracteres alfanuméricos (letras y dígitos).
       shell-forward-word
              Mover adelante  hasta  el  final  de  la  siguiente  palabra.  Las  palabras  están
              delmitadas por metacaracteres de la shell no entrecomillados.
       shell-backward-word
              Mover  atrás  hasta  el  principio  de esta palabra o la anterior.  Las palabras se
              delimitan por metacaracteres de la shell no entrecomillados.
       previous-screen-line
              Attempt to move point to the same physical screen column on the  previous  physical
              screen  line.  This  will  not have the desired effect if the current Readline line
              does not take up more than one physical line or if point is not  greater  than  the
              length of the prompt plus the screen width.
       next-screen-line
              Attempt  to  move  point  to  the  same physical screen column on the next physical
              screen line. This will not have the desired effect if  the  current  Readline  line
              does  not  take  up  more  than  one  physical line or if the length of the current
              Readline line is not greater than the length of the prompt plus the screen width.
       clear-display (M-C-l)
              Clear the screen and, if possible, the terminal's scrollback  buffer,  then  redraw
              the current line, leaving the current line at the top of the screen.
       clear-screen (C-l)
              Despejar  la  pantalla  y  volver  a  crear  la  línea actual dejándola en la parte
              superior de la pantalla. Si se proporciona un argumento, refresca la  línea  actual
              sin despejar la pantalla.
       redraw-current-line
              Refrescar la línea en curso.

   Órdenes para Manipular el Historial
       accept-line (Nueva-línea, Intro)
              Aceptar  la  línea  sin importar dónde esté el cursor. Si esta línea no está vacía,
              añadirla al historial de acuerdo con el estado de la variable HISTCONTROL.   Si  la
              línea  es  una de las de la historia, modificada, entonces restaurar el historial a
              su estado original.
       previous-history (C-p)
              Obtener la orden anterior del historial, moviéndose hacia atrás en la misma.
       next-history (C-n)
              Obtener la orden siguiente del historial, moviéndose hacia delante en el mismo.
       beginning-of-history (M-<)
              Mover a la primera línea del historial.
       end-of-history (M->)
              Mover al final de la historia de  entrada;  esto  es,  la  línea  que  está  siendo
              introducida en la actualidad.
       reverse-search-history (C-r)
              Buscar  hacia  atrás  empezando en la línea en curso y moviéndose `arriba' a través
              del historial si es necesario. Esta búsqueda es incremental.
       forward-search-history (C-s)
              Buscar hacia adelante empezando en la línea en curso y moviéndose `abajo' a  través
              del historial si es necesario. Esta búsqueda es incremental.
       non-incremental-reverse-search-history (M-p)
              Buscar  hacia atrás a través del historial empezando en la línea en curso empleando
              una búsqueda no incremental de una cadena suministrada por el usuario.
       non-incremental-forward-search-history (M-n)
              Buscar hacia delante a  través  del  historial  empezando  en  la  línea  en  curso
              empleando una búsqueda no incremental de una cadena suministrada por el usuario.
       history-search-forward
              Buscar  hacia  adelante  a  través  del historial una cadena de caracteres entre el
              comienzo de la línea en curso y el punto. Esta búsqueda no es incremental.
       history-search-backward
              Buscar hacia atrás a través  del  historial  una  cadena  de  caracteres  entre  el
              comienzo de la línea en curso y el punto. Esta búsqueda no es incremental.
       history-substring-search-backward
              Buscar  hacia  atrás  a  través  del  historial  una  cadena de caracteres entre el
              comienzo de la línea en curso y el punto. Esta búsqueda no es incremental.
       history-substring-search-forward
              Buscar hacia delante a través del historial  una  cadena  de  caracteres  entre  el
              comienzo de la línea en curso y el punto. Esta búsqueda no es incremental.
       yank-nth-arg (M-C-y)
              Insertar  el  primer argumento de la orden anterior (normalmente la segunda palabra
              de la línea anterior) en el punto. Con un argumento n, insertar la  n-sima  palabra
              de la orden anterior (las palabras en la orden anterior empiezan con la palabra 0).
              Un argumento negativo inserta  la  n-sima  palabra  desde  el  final  de  la  orden
              anterior.Una  vez  que  se computa el argumento n, se extraerá como si se definiese
              esta exapnsión del historial: "!n"
       yank-last-arg (M-., M-_)
              Inserta el último argumento de la orden anterior (la última palabra de la  anterior
              entrada  del  historial).  Con  un  argumento numérico, se comporta de igual modo a
              yank-nth-arg. Invocando varias veces yank-last-arg, se desplazará hacia atrás en el
              historial  insertando  la  última palabra (o aquella definida en el argumento de la
              primera invocación) de cada línea por la  que  se  desplace.  Cualquier  aargumento
              numérico que se proporcione en las sucesivas invocaciones determina la dirección de
              desplazamiento en el historial. Un  argumento  negativo  cambiará  dicha  dirección
              hacia delante o hacia atrás. Las utilidades de expansión del historial se usan para
              extraer la última palabra como si se especificase "!$".
       shell-expand-line (M-C-e)
              Expandir la línea como hace la shell. Esto realiza  la  expansión  de  alias  y  de
              historia  así como todas las expansiones de palabra de la shell. Consulte EXPANSIÓN
              DEL HISTORIAL más adelante para una descripción de la expansión de historia.
       history-expand-line (M-^)
              Realizar la expansión de  historia  en  la  línea  en  curso.   Vea  EXPANSIÓN  DEL
              HISTORIAL más adelante para una descripción de la expansión de historia.
       magic-space
              Efectuar  la expansión de historia en la línea en curso e insertar un espacio.  Vea
              EXPANSIÓN DEL HISTORIAL más adelante  para  una  descripción  de  la  expansión  de
              historia.
       alias-expand-line
              Realizar  la  expansión  de  alias en la línea en curso.  Vea ALIAS arriba para una
              descripción de la expansión de alias.
       history-and-alias-expand-line
              Realizar la expansión de historia y alias en la línea en curso.
       insert-last-argument (M-., M-_)
              Un sinónimo para yank-last-arg.
       operate-and-get-next (C-o)
              Aceptar la línea en curso para la ejecución y obtener la línea siguiente relativa a
              la  actual  desde  el historial, para la edición. Si se añade un argumento numérico
              define la línea del historial a emplear en lugar de usar al actual.
       edit-and-execute-command (C-x C-e)
              Invoca un editor en la línea de  órdenes  actual  ejecutándose  el  resultado  como
              órdenes de la shell. bash intenta invocas $VISUAL, $EDITOR y emacs en ese orden.

   Órdenes para Cambiar el Texto
       end-of-file (generalmente C-d)
              El  caracter  que  determina  el  fin-de-archivo  se  define  por  ejemplo mediante
              ``stty''.  Si se lee el carácter cuando no hay ninguno en la línea y el punto  está
              al  principio  de  la  línea,  Readline  lo  interpreta como el fin de la entrada y
              devuelve EOF.
       delete-char (C-d)
              Eliminar el carácter en el punto. Si  esta  función  está  asociada  con  el  mismo
              carácter que que tenga el tty para EOF, como suele serlo C-d, vea anteriormente los
              efectos.
       backward-delete-char (Borrar)
              Borrar el carácter tras el cursor. Cuando se da un argumento numérico,  guardar  el
              texto borrado en el anillo de corte.
       forward-backward-delete-char
              Borrar  el  carácter bajo el cursor, salvo que el cursor esté al final de la línea,
              en cuyo caso se borrará el carácter que esté detrás.
       quoted-insert (C-q, C-v)
              Añadir el siguiente carácter tecleado a la línea tal cual. Así es  como  se  pueden
              insertar caracteres como C-q, por ejemplo.
       tab-insert (C-v TAB)
              Insertar un carácter de tabulación.
       self-insert (a, b, A, 1, !, ...)
              Insertar el carácter tecleado.
       transpose-chars (C-t)
              Arrastrar el carácter antes del punto hacia adelante sobre el carácter en el punto.
              El punto se mueve adelante también. Si el punto está al final de la línea, entonces
              transpone  los  dos  caracteres antes del punto. Los argumentos negativos no tienen
              efecto.
       transpose-words (M-t)
              Arrastrar la palabra antes del punto hacia adelante sobre el carácter en el  punto.
              El  punto  se  mueve  adelante  también.  Si el punto está al final de la línea, se
              transponen los dos últimas palabras de dicha línea.
       upcase-word (M-u)
              Poner en mayúsculas la  palabra  en  curso  (o  la  siguiente).  Con  un  argumento
              negativo, pone la anterior, pero no mueve el punto.
       downcase-word (M-l)
              Poner  en  minúsculas  la  palabra  en  curso  (o  la siguiente).  Con un argumento
              negativo, pone la anterior, pero no mueve el punto.
       capitalize-word (M-c)
              Poner en mayúscula la inicial de la palabra en curso  (o  la  siguiente).   Con  un
              argumento negativo, pone la anterior, pero no mueve el punto.
       overwrite-mode
              Toggle  overwrite  mode.   With  an explicit positive numeric argument, switches to
              overwrite mode.  With an explicit non-positive numeric argument, switches to insert
              mode.   This  command  affects only emacs mode; vi mode does overwrite differently.
              Each call to readline() starts in insert mode.  In overwrite mode, characters bound
              to self-insert replace the text at point rather than pushing the text to the right.
              Characters bound to backward-delete-char replace the character before point with  a
              space.  By default, this command is unbound.

   Cortar y Pegar
       kill-line (C-k)
              Cortar el texto desde la posición actual del cursor hasta el final de la línea.
       backward-kill-line (C-x Borrar)
              Cortar hacia atrás hasta el principio de la línea.
       unix-line-discard (C-u)
              Cortar  hacia atrás desde el punto hasta el principio de la línea. El texto cortado
              se guarda en el anillo de corte.
       kill-whole-line
              Cortar todos los caracteres de la línea en curso, sin importar dónde esté el punto.
       kill-word (M-d)
              Cortar desde el punto hasta el final de la palabra en curso, o si  entre  palabras,
              hasta el final de la siguiente. Los extremos de las palabras son los mismos que los
              empleados por forward-word.
       backward-kill-word (M-supr)
              Cortar la palabra tras el punto. Los extremos de las palabras son  los  mismos  que
              los empleados por backward-word.
       shell-kill-word
              Cortar  desde  el punto hasta el final de la palabra en curso, o si entre palabras,
              hasta el final de la siguiente. Los extremos de las palabras son los mismos que los
              empleados por shell-forward-word.
       shell-backward-kill-word
              Cortar  la  palabra  tras el punto. Los extremos de las palabras son los mismos que
              los empleados por shell-backward-word.
       unix-word-rubout (C-w)
              Cortar la palabra tras el punto, empleando el espacio en blanco como un  límite  de
              palabra. El texto cortado se guarda en el anillo de corte.
       unix-filename-rubout
              Cortar  la  palabra detrás del punto empleando el espacio en blanco y la barra como
              límites de la palabra. El texto cortado se guarda en el anillo de corte.
       delete-horizontal-space (M-\)
              Borrar todos los espacios y tabuladores alrededor del punto.
       kill-region
              Cortar el texto en la región actual.
       copy-region-as-kill
              Copiar el texto de la región al anillo de corte.
       copy-backward-word
              Copiar la palabra antes del punto al búfer de corte.  Los extremos de palabras  son
              los mismos que con backward-word.
       copy-forward-word
              Copiar  la  palabra  que sigue al punto al búfer de corte.  Los extremos de palabra
              son los mismos que con forward-word.
       yank (C-y)
              Pegar la cima del anillo de corte en el búfer en el punto.
       yank-pop (M-y)
              Rotar en el anillo de corte, y pegar la nueva cima. Solo funciona tras  un  yank  o
              yank-pop.

   Argumentos Numéricos
       digit-argument (M-0, M-1, ..., M--)
              Añadir  este  dígito al argumento, acumulándolo, o comenzar con un nuevo argumento.
              M-- empieza un argumento negativo.
       universal-argument
              Ésta es otra forma de especificar un argumento.  Si esta orden se  hace  seguir  de
              uno  o más dígitos, opcionalmente con un signo menos inicial, estos dígitos definen
              el argumento.  Si a la orden siguen dígitos, ejecutar de  nuevo  universal-argument
              finaliza  el  argumento  numérico, pero si no, no se tiene en cuenta.  Como un caso
              especial, si a esta orden sigue inmediatamente un carácter que no es ni  un  dígito
              ni  un  signo  menos, el número del argumento para la siguiente orden se multiplica
              por cuatro.  El número del argumento es inicialmente uno,  así  que  ejecutar  esta
              función  por  primera  vez hace que el número del argumento sea cuatro, una segunda
              vez lo hace dieciséis, y así sucesivamente.

   Terminación
       complete (TAB)
              Intentar realizar una terminación del texto  antes  del  punto.   Bash  intenta  la
              terminación  tratando al texto como una variable (si el texto comienza con $), como
              un nombre de usuario (si el  texto  empieza  con  ~),  como  un  nombre  de  equipo
              anfitrión  (si  el  texto  comienza  con  @),  o como una orden (incluyendo alias y
              funciones), por este orden. Si nada de esto concuerda, se intenta la terminación de
              un nombre de fichero.
       possible-completions (M-?)
              Listar las terminaciones posibles del texto antes del punto.
       insert-completions (M-*)
              Insertar  todas  las  terminaciones  del  texto  antes  del  punto que habrían sido
              generadas por possible-completions.
       menu-complete
              Similar to complete, but replaces the word to be completed with a single match from
              the  list  of  possible  completions.   Repeated  execution  of menu-complete steps
              through the list of possible completions, inserting each match in turn.  At the end
              of the list of completions, the bell is rung (subject to the setting of bell-style)
              and the original text is restored.  An argument of n moves n positions  forward  in
              the  list  of matches; a negative argument may be used to move backward through the
              list.  This command is intended to be bound to TAB, but is unbound by default.
       menu-complete-backward
              Identical to menu-complete,  but  moves  backward  through  the  list  of  possible
              completions,  as if menu-complete had been given a negative argument.  This command
              is unbound by default.
       delete-char-or-list
              Deletes the character under the cursor if not at the beginning or end of  the  line
              (like   delete-char).    If  at  the  end  of  the  line,  behaves  identically  to
              possible-completions.  This command is unbound by default.
       complete-filename (M-/)
              Intentar la terminación de un nombre de fichero en el texto antes del punto.
       possible-filename-completions (C-x /)
              Listar las posibles terminaciones del texto antes del  punto,  tratándolo  como  un
              nombre de fichero.
       complete-username (M-~)
              Intentar  la  terminación  del  texto antes del punto, tratándolo como un nombre de
              usuario.
       possible-username-completions (C-x ~)
              Listar las posibles terminaciones del texto antes del  punto,  tratándolo  como  un
              nombre de usuario.
       complete-variable (M-$)
              Intentar  la terminación del texto antes del punto, tratándolo como una variable de
              la shell.
       possible-variable-completions (C-x $)
              Listar las posibles terminaciones del texto antes del punto,  tratándolo  como  una
              variable de la shell.
       complete-hostname (M-@)
              Intentar  la  terminación  del  texto antes del punto, tratándolo como un nombre de
              equipo anfitrión.
       possible-hostname-completions (C-x @)
              Listar las posibles terminaciones del texto antes del  punto,  tratándolo  como  un
              nombre de equipo anfitrión.
       complete-command (M-!)
              Intentar  la  terminación  del  texto antes del punto, tratándolo como un nombre de
              orden. La terminación de orden intenta hacer concordar el texto con alias, palabras
              reservadas,  funciones  de  la  shell,  órdenes  internas de la shell, y finalmente
              nombres de ficheros ejecutables, en ese orden.
       possible-command-completions (C-x !)
              Listar las posibles terminaciones del texto antes del  punto,  tratándolo  como  un
              nombre de orden.
       dynamic-complete-history (M-TAB)
              Intentar  la  terminación del texto antes del punto, comparando el texto con líneas
              del historial buscando concordancias para la terminación.
       dabbrev-expand
              Intentar completar el menu en el texto antes del punto,  comparando  el  texto  con
              líneas del historial buscando concordancias para la terminación.
       complete-into-braces (M-{)
              Efectuar la terminación de nombres de archivos e insertar la lista de terminaciones
              posibles encerrada entre llaves de forma que la lista esté disponible para la shell
              (vea Expansión de llaves arriba).

   Macros de Teclado
       start-kbd-macro (C-x ()
              Empezar a grabar los caracteres tecleados, en la macro de teclado en curso.
       end-kbd-macro (C-x ))
              Parar  de  grabar  los  caracteres  tecleados  en  la  macro de teclado en curso, y
              almacenar la definición.
       call-last-kbd-macro (C-x e)
              Reejecutar la última macro de teclado definida, haciendo que los caracteres  en  la
              macro aparezcan como si se hubieran pulsado en el teclado.
       print-last-kbd-macro ()
              Muestra  la  última macro de teclado definida en un formato adecuado para su uso en
              el archivo inputrc.

   Varios
       re-read-init-file (C-x C-r)
              Leer los contenidos del archivo  inputrc,  e  incorporar  cualquier  definición  de
              teclas o asignaciones de variables que se hubieran encontrado en él.
       abort (C-g)
              Terminar  abruptamente  la orden de edición en curso y tocar el pito de la terminal
              (según el establecimiento de bell-style).
       do-lowercase-version (M-A, M-B, M-x, ...)
              If the metafied character x is uppercase, run the command  that  is  bound  to  the
              corresponding  metafied  lowercase  character.   The  behavior is undefined if x is
              already lowercase.
       prefix-meta (ESC)
              Convertir en meta el siguiente carácter tecleado.  ESC f es equivalente a Meta-f.
       undo (C-_, C-x C-u)
              Deshacer de forma incremental, recordado separadamente para cada línea.
       revert-line (M-r)
              Deshacer todos los cambios hechos a esta línea. Esto es como ejecutar la orden undo
              las veces suficientes como para devolver la línea a su estado inicial.
       tilde-expand (M-&)
              Efectuar la expansión de tilde en la palabra en curso.
       set-mark (C-@, M-<espacio>)
              Establecer  la  marca  en  el  punto.  Si  se da un argumento numérico, la marca se
              establece en esa posición.
       exchange-point-and-mark (C-x C-x)
              Cambia el punto con la marca. La posición actual del cursor se pone en la  posición
              guardada, y la vieja posición del cursor se guarda como la marca.
       character-search (C-])
              Se  lee  un carácter y el punto se mueve a la siguiente ocurrencia de ese carácter.
              Un argumento numérico  negativo  hace  que  la  búsqueda  sea  de  las  ocurrencias
              anteriores.
       character-search-backward (M-C-])
              Se lee un carácter y el punto se mueve a la anterior ocurrencia de ese carácter. Un
              argumento numérico negativo hace que la búsqueda sea de las ocurrencias siguientes.
       skip-csi-sequence
              Read enough characters to consume a multi-key sequence such as  those  defined  for
              keys  like  Home  and  End.  Such sequences begin with a Control Sequence Indicator
              (CSI), usually ESC-[.  If this sequence is  bound  to  "\[",  keys  producing  such
              sequences  will  have  no  effect  unless  explicitly  bound to a readline command,
              instead of inserting stray characters into the editing buffer.  This is unbound  by
              default, but usually bound to ESC-[.
       insert-comment (M-#)
              Without  a  numeric  argument,  the value of the readline comment-begin variable is
              inserted at the beginning of the current line.  If a numeric argument is  supplied,
              this  command  acts  as a toggle: if the characters at the beginning of the line do
              not match the  value  of  comment-begin,  the  value  is  inserted,  otherwise  the
              characters  in comment-begin are deleted from the beginning of the line.  In either
              case, the line is accepted as if a newline had been typed.  The  default  value  of
              comment-begin  causes  this command to make the current line a shell comment.  If a
              numeric argument causes the comment character to  be  removed,  the  line  will  be
              executed by the shell.
       glob-complete-word (M-g)
              La  palabra antes del punto se trata como un patrón para la expansión de nombres de
              ruta con un asterisco implícitamente añadido. Este patrón se  emplea  para  generar
              una lista de posibles nombres de archivo para autocompletar.
       glob-expand-word (C-x *)
              La  palabra antes del punto se trata como un patrón para la expansión de nombres de
              rutas y la lista de nombres de archivo concordantes se inserta, reemplazando  a  la
              palabra. Si se proporciona un argumento numérico, se añade un asterisco antes de la
              expansión del nombre de ruta.
       glob-list-expansions (C-x g)
              Mostrar la lista de expansiones que habrían sido generadas por  glob-expand-word  y
              redibujar la línea. Si se aporta un argumento numérico, se añade un asterisco antes
              de la expansión del nombre de ruta
       dump-functions
              Mostrar todas las funciones y sus asociaciones de teclas en el flujo de  salida  de
              readline.  Si  se  da  un argumento numérico, la salida se formatea de tal modo que
              pueda formar parte de un fichero inputrc.
       dump-variables
              Mostrar todas las variables de readline a las que  se  puedan  asignar  valores,  y
              éstos, en el flujo de salida de readline. Si se da un argumento numérico, la salida
              se formatea de tal manera que pueda formar parte de un fichero inputrc.
       dump-macros
              Mostrar todas las secuencias de teclas de readline asociadas a macros y las cadenas
              de caracteres asociadas correspondientes. Si se da un argumento numérico, la salida
              se formatea de tal manera que pueda formar parte de un fichero inputrc.
       display-shell-version (C-x C-v)
              Mostrar información de versión acerca de la instancia actual de bash.

   Autocompletado Programable
       When word completion is attempted for an argument to a  command  for  which  a  completion
       specification  (a compspec) has been defined using the complete builtin (see SHELL BUILTIN
       COMMANDS below), the programmable completion facilities are invoked.

       First, the command  name  is  identified.   If  the  command  word  is  the  empty  string
       (completion attempted at the beginning of an empty line), any compspec defined with the -E
       option to complete is used.  If a compspec has been defined for that command, the compspec
       is used to generate the list of possible completions for the word.  If the command word is
       a full pathname, a compspec for the full pathname is searched for first.  If  no  compspec
       is  found  for  the  full  pathname, an attempt is made to find a compspec for the portion
       following the final slash.  If those searches do not result in a  compspec,  any  compspec
       defined  with  the  -D  option to complete is used as the default.  If there is no default
       compspec, bash attempts alias expansion on  the  command  word  as  a  final  resort,  and
       attempts to find a compspec for the command word from any successful expansion.

       Once  a  compspec has been found, it is used to generate the list of matching words.  If a
       compspec is not found, the default bash completion as described above under Completing  is
       performed.

       First, the actions specified by the compspec are used.  Only matches which are prefixed by
       the word being completed are returned.  When the -f or -d option is used for  filename  or
       directory name completion, the shell variable FIGNORE is used to filter the matches.

       Any  completions  specified by a pathname expansion pattern to the -G option are generated
       next.  The words generated by the pattern need not match the word  being  completed.   The
       GLOBIGNORE  shell  variable is not used to filter the matches, but the FIGNORE variable is
       used.

       Next, the string specified as the argument to the -W option is considered.  The string  is
       first split using the characters in the IFS special variable as delimiters.  Shell quoting
       is honored.  Each word is then expanded using brace expansion, tilde expansion,  parameter
       and variable expansion, command substitution, and arithmetic expansion, as described above
       under EXPANSION.  The results are  split  using  the  rules  described  above  under  Word
       Splitting.   The  results  of  the  expansion  are  prefix-matched  against the word being
       completed, and the matching words become the possible completions.

       After these matches have been generated, any shell function or command specified with  the
       -F  and  -C  options  is invoked.  When the command or function is invoked, the COMP_LINE,
       COMP_POINT, COMP_KEY, and COMP_TYPE variables are assigned values as described above under
       Shell  Variables.   If  a  shell  function is being invoked, the COMP_WORDS and COMP_CWORD
       variables are also set.  When the function or command is invoked, the first argument  ($1)
       is  the  name of the command whose arguments are being completed, the second argument ($2)
       is the word being completed, and the third argument ($3) is the word  preceding  the  word
       being  completed  on  the current command line.  No filtering of the generated completions
       against the word being completed is  performed;  the  function  or  command  has  complete
       freedom in generating the matches.

       Any  function  specified  with -F is invoked first.  The function may use any of the shell
       facilities, including the compgen builtin described below, to generate  the  matches.   It
       must put the possible completions in the COMPREPLY array variable, one per array element.

       Next,  any command specified with the -C option is invoked in an environment equivalent to
       command substitution.  It should print a  list  of  completions,  one  per  line,  to  the
       standard output.  Backslash may be used to escape a newline, if necessary.

       After  all  of  the  possible  completions are generated, any filter specified with the -X
       option is applied to the list.  The filter is a pattern as used for pathname expansion;  a
       &  in  the pattern is replaced with the text of the word being completed.  A literal & may
       be escaped with a backslash; the backslash is removed  before  attempting  a  match.   Any
       completion  that  matches  the pattern will be removed from the list.  A leading ! negates
       the pattern; in this case any completion not matching the pattern will be removed.  If the
       nocasematch  shell option is enabled, the match is performed without regard to the case of
       alphabetic characters.

       Finally, any prefix and suffix specified with the -P and -S  options  are  added  to  each
       member  of the completion list, and the result is returned to the readline completion code
       as the list of possible completions.

       If the previously-applied actions do not generate any matches, and the -o dirnames  option
       was  supplied  to  complete  when  the  compspec was defined, directory name completion is
       attempted.

       If the -o plusdirs option  was  supplied  to  complete  when  the  compspec  was  defined,
       directory  name  completion  is  attempted and any matches are added to the results of the
       other actions.

       By default, if a compspec is found, whatever it generates is returned  to  the  completion
       code  as  the  full  set  of  possible  completions.  The default bash completions are not
       attempted, and the readline default  of  filename  completion  is  disabled.   If  the  -o
       bashdefault  option  was  supplied  to  complete  when  the compspec was defined, the bash
       default completions are attempted if the compspec generates no matches.  If the -o default
       option  was  supplied  to  complete  when  the  compspec  was  defined, readline's default
       completion will be performed  if  the  compspec  (and,  if  attempted,  the  default  bash
       completions)  generate no matches.

       When  a  compspec  indicates  that  directory name completion is desired, the programmable
       completion functions force readline to  append  a  slash  to  completed  names  which  are
       symbolic  links  to  directories,  subject  to  the value of the mark-directories readline
       variable, regardless of the setting of the mark-symlinked-directories readline variable.

       There is some support for dynamically modifying completions.  This  is  most  useful  when
       used  in  combination with a default completion specified with complete -D.  It's possible
       for shell functions executed as completion handlers to indicate that completion should  be
       retried  by returning an exit status of 124.  If a shell function returns 124, and changes
       the compspec associated with the command on which completion is being attempted  (supplied
       as  the  first  argument  when the function is executed), programmable completion restarts
       from the beginning, with an attempt to find a new compspec for that command.  This  allows
       a set of completions to be built dynamically as completion is attempted, rather than being
       loaded all at once.

       For instance, assuming that there  is  a  library  of  compspecs,  each  kept  in  a  file
       corresponding  to the name of the command, the following default completion function would
       load completions dynamically:

       _completion_loader()
       {
            . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
       }
       complete -D -F _completion_loader -o bashdefault -o default

HISTORIAL

       When the -o history option to the set builtin is enabled, the shell provides access to the
       command  history,  the  list  of  commands  previously  typed.   The value of the HISTSIZE
       variable is used as the number of commands to save in a history list.   The  text  of  the
       last  HISTSIZE  commands  (default  500)  is  saved.  The shell stores each command in the
       history list prior to parameter and variable expansion (see  EXPANSION  above)  but  after
       history  expansion  is  performed, subject to the values of the shell variables HISTIGNORE
       and HISTCONTROL.

       On startup, the history is initialized from  the  file  named  by  the  variable  HISTFILE
       (default  ~/.bash_history).   The  file  named  by  the value of HISTFILE is truncated, if
       necessary, to contain no more  than  the  number  of  lines  specified  by  the  value  of
       HISTFILESIZE.  If HISTFILESIZE is unset, or set to null, a non-numeric value, or a numeric
       value less than zero, the history file is not truncated.  When the history file  is  read,
       lines  beginning  with  the  history comment character followed immediately by a digit are
       interpreted as timestamps for the following history line.  These timestamps are optionally
       displayed  depending  on  the  value  of  the  HISTTIMEFORMAT variable.  When a shell with
       history enabled exits, the last $HISTSIZE lines  are  copied  from  the  history  list  to
       $HISTFILE.   If the histappend shell option is enabled (see the description of shopt under
       SHELL BUILTIN COMMANDS below), the lines are appended to the history file,  otherwise  the
       history  file is overwritten.  If HISTFILE is unset, or if the history file is unwritable,
       the history is not saved.  If the HISTTIMEFORMAT variable is set, time stamps are  written
       to  the  history file, marked with the history comment character, so they may be preserved
       across shell sessions.  This uses the history comment character to distinguish  timestamps
       from  other  history  lines.   After  saving the history, the history file is truncated to
       contain no more than HISTFILESIZE lines.  If HISTFILESIZE is unset,  or  set  to  null,  a
       non-numeric value, or a numeric value less than zero, the history file is not truncated.

       La  orden  interna  fc (vea ÓRDENES NATIVAS DE LA SHELL más adelante) puede emplearse para
       listar o editar y re-ejecutar una porción de la  lista  de  historia.   La  orden  interna
       history  se  puede  utilizar  para  mostrar  o modificar o volver a ejecutar una parte del
       historial.  Cuando se emplea la edición  de  líneas  de  órdenes,  están  disponibles  las
       órdenes de búsqueda en cada modo de edición que proporcionan acceso al historial.

       la  shell  permite  el control sobre qué órdenes se guarden en el historial. Las variables
       HISTCONTROL y HISTIGNORE se pueden definir de forma  que  la  shell  guarde  solamente  un
       subconjunto  de  las  órdenes  introducidas.   La  opción  de  la  shell  cmdhist, si está
       habilitada, hace que la shell intente guardar cada línea de una orden  multi-línea  en  la
       misma  entrada  de la historia, añadiendo punto y comas donde sea necesario para preservar
       la corrección sintáctica.  La opción de la shell lithist hace que la shell guarde la orden
       con  saltos  de  línea  empotrados en vez de punto y comas. Vea la descripción de la orden
       interna shopt más adelante en ÓRDENES NATIVAS DE LA  SHELL  para  información  sobre  cómo
       establecer y anular opciones de la shell.

EXPANSIÓN DEL HISTORIAL

       la shell admite una característica de expansión de historia que es parecida a la expansión
       de  historia  en  csh.   Esta  sección  describe  qué  características  sintácticas  están
       disponibles.  Esta  característica  está  habilitada  de  forma  predeterminada  en shells
       interactivos, y puede ser desactivada mediante la opción +H de la orden interna  set  (vea
       ÓRDENES  NATIVAS  DE  LA  SHELL  más  adelante). Los shells no interactivos no realizan la
       expansión de la historia de forma predeterminada.

       Las expansiones del historial introducen palabras  desde  el  historial  en  el  flujo  de
       entrada, facilitando así la repetición de órdenes, la inserción de argumentos de una orden
       anterior en la línea de entrada en curso, o la corrección rápida de errores en  una  orden
       anterior.

       La  expansión  del  historial  se  realiza  inmediatamente  tras  la  lectura de una línea
       completa, antes de que la shell la divida en palabras.  Tiene  lugar  en  cada  línea  por
       separado  sin considerar el entrecomillado de anteriores líneas. Tiene lugar en dos fases.
       En la primera se determina qué línea del historial hay que emplear durante la sustitución.
       En  la  segunda  se seleccionan porciones de esa línea para su inclusión en la actual.  La
       línea seleccionada desde el historial es el evento, y la porción de esa línea sobre la que
       se  actúa  son  palabras.   Se dispone de varios modificadores para manipular las palabras
       seleccionadas. La línea se divide en palabras de la misma manera  que  cuando  se  lee  la
       entrada, de forma que ciertas palabras separadas por meta-caracteres rodeadas por comillas
       se consideran una sola palabra.  Las  expansiones  del  historial  se  introducen  por  la
       aparición  del  carácter de expansión de historial, que es por omisión !.  Solo las barras
       inversas (\) y  las  comillas  simples  pueden  proteger  al  carácter  de  expansión  del
       historial,  aunque  dicho  carácter se considera entrecomillado si está justo antes de una
       comilla doble de cierre de una cadena entre ese tipo de comillas.

       Several characters inhibit history expansion if found immediately  following  the  history
       expansion  character, even if it is unquoted: space, tab, newline, carriage return, and =.
       If the extglob shell option is enabled, ( will also inhibit expansion.

       Se pueden emplear ciertas opciones que se ponen con la orden interna shopt para cambiar el
       comportamiento  de  la  expansión  de  historia.  Si la opción de la shell histverify está
       activa (vea la descripción de la orden interna shopt), y  se  está  usando  readline,  las
       sustituciones de historia no se pasan inmediatamente al analizador de la shell.  En vez de
       eso, la línea expandida se vuelve a cargar en el búfer de edición  de  readline  para  una
       modificación  posterior.   Si  se  está usando readline y la opción de la shell histreedit
       está activada, una sustitución de historia fallida se volverá a  cargar  en  el  búfer  de
       edición de readline para su corrección.  La opción -p de la orden interna history se puede
       emplear para ver qué hará una expansión de historia antes de usarse.  La opción -s  de  la
       orden  interna  history  se  puede  emplear para añadir órdenes al final del historial sin
       ejecutarlas realmente, de modo que estén disponibles para rellamadas posteriores.

       la shell permite el control de los diversos  caracteres  empleados  por  el  mecanismo  de
       expansión  de  historia (vea la descripción de histchars arriba en Variables de la shell).
       La shell marcará como  un  comentario  las  marcas  de  tiempo  durante  el  registro  del
       historial.

   Designadores de Eventos
       Un designador de evento es una referencia a una entrada de línea de orden en el historial.
       Salvo que la referencia sea absoluta, la posición  de  los  eventos  será  relativa  a  la
       posición actual en el historial.

       !      Comenzar  una  sustitución  de historia, excepto cuando le siga un blanco, salto de
              línea, retorno de carro, = o (. (cuando la opción extglob  está  activada  mediante
              shopt).
       !n     Referirse a la línea de órdenes número n.
       !-n    Referirse a la orden en curso menos n.
       !!     Referirse a la orden anterior. Esto es lo mismo que `!-1'.
       !cadena
              Referirse  a la orden más reciente del historial que precede a la actual y comienza
              con cadena.
       !?cadena[?]
              Referirse a la orden más reciente del historial que  precede  a  la  actual  y  que
              contenga  cadena. El ? del final puede omitirse si a cadena le sigue inmediatamente
              un salto de línea. Si no se indica ninguna string, se usará la cadena  empleada  en
              la  última  búsqueda,  emitiendo  un  mensaje  de error si no hay ninguna cadena de
              búsquedas anteriores.
       ^cadena1^cadena2^
              Sustitución rápida. Repetir la orden anterior, reemplazando  cadena1  con  cadena2.
              Equivale a “!!:s^cadena1^cadena2^” (vea Modificadores a continuación).
       !#     La línea de orden entera tecleada hasta ahora.

   Designadores de Palabras
       Los  designadores  de  palabras se emplean para seleccionar las palabras que se deseen del
       evento.  Un : separa la  especificación  de  evento  del  designador  de  palabra.   Puede
       omitirse  si  el  designador  de palabra comienza con un ^, $, *, -, o %.  Las palabras se
       numeran desde el principio de la línea, con la primera palabra denotada por 0 (cero).  Las
       palabras se insertan en la línea en curso separadas por espacios simples.

       0 (cero)
              La palabra número 0. Para la shell, ésta es la palabra de la orden.
       n      La n-sima palabra.
       ^      El primer argumento. Esto es, la palabra número 1.
       $      The  last  word.   This is usually the last argument, but will expand to the zeroth
              word if there is only one word in the line.
       %      La palabra que concuerda con la búsqueda  más  reciente  de  '?cadena?',  si  dicha
              cadena comienza con un caracter que forma parte de una palabra.
       x-y    Un intervalo de palabras; `-y' abrevia `0-y'.
       *      Todas  las  palabras  menos la número cero. Esto es un sinónimo de `1-$'.  No es un
              error emplear * si solo hay una palabra en el evento; en este caso se  devuelve  la
              cadena vacía.
       x*     Abreviatura de x-$.
       x-     Abrevia  x-$  como x*, pero omite la última palabra. Si no se indica x, se usará el
              valor 0 por defecto.

       Si se suministra un designador de palabra sin una especificación  de  evento,  se  usa  la
       orden anterior como el evento.

   Modificadores
       Tras  el  designador  opcional  de  palabra, puede haber una secuencia de uno o más de los
       siguientes modificadores, precedido cada uno por  un  ':'.  Esto  modifica  o  edita  la/s
       palabra/s seleccionadas del evento del historial.

       h      Quitar un componente final de nombre de fichero, dejando solo la parte izquierda.
       t      Quitar  todos  los  primeros componentes de un nombre de fichero, dejando la última
              parte.
       r      Quitar un sufijo final de la forma .xxx, dejando el nombre base.
       e      Quitar todo salvo el sufijo final.
       p      Mostrar la nueva orden pero no ejecutarla.
       q      Entrecomillar las palabras sustituidas, escapando de posteriores sustituciones.
       x      Entrecomillar las palabras sustituidas como con q, pero separae entre  palabras  en
              los  blancos y saltos de línea. Los modificadores q y x son mutuamente excluyentes,
              usándose el que aparezca de último.
       s/viejo/nuevo/
              Sustituir nuevo por la primera ocurrencia de viejo en la línea de evento. Se  puede
              emplear  cualquier  delimitador en vez de /. El delimitador final es opcional si es
              el último carácter de la línea de evento. El delimitador puede  entrecomillarse  en
              viejo  y  nuevo  con  una  sola  barra inclinada inversa. Si & aparece en nuevo, se
              reemplaza por viejo.  Una sola barra inversa protegerá el &. Si viejo  está  vacío,
              se  pone  al  último  viejo  sustituido, o, si no tuvo lugar ninguna sustitución de
              historia previa, a la última cadena en una búsqueda del tipo !?cadena[?].. Si no se
              indica nuevo se borrarán todas las ocurrencias de viejo.
       &      Repetir la sustitución anterior.
       g      Hace que los cambios se apliquen sobre la línea entera de evento. Esto se emplea en
              conjunción con `:s' (p.ej., `:gs/viejo/nuevo/')  o  `:&'.   Si  se  usa  con  `:s',
              cualquier  delimitador  se  puede utilizar en lugar de /, y el delimitador final es
              opcional si es el último carácter de la  línea  de  evento.  Puede  usarse  a  como
              sinónimo de g.
       G      Aplica  los  modificadores  's'  o '&' una vez a cada palabra en la correspondiente
              línea del evento.

ÓRDENES NATIVAS DE LA SHELL

       Unless otherwise noted, each builtin command  documented  in  this  section  as  accepting
       options  preceded  by - accepts -- to signify the end of the options.  The :, true, false,
       and test/[ builtins do not accept options and  do  not  treat  --  specially.   The  exit,
       logout,  return,  break,  continue,  let,  and shift builtins accept and process arguments
       beginning with - without requiring --.  Other builtins that accept arguments but  are  not
       specified as accepting options interpret arguments beginning with - as invalid options and
       require -- to prevent this interpretation.
       : [argumentos]
              Sin efecto; la orden no hace nada más que expandir argumentos y realizar  cualquier
              redirección que se haya especificado. El estado de salida es 0.

        .  nombre-fichero [argumentos]
       source nombre-fichero [argumentos]
              Read and execute commands from filename in the current shell environment and return
              the exit status of the last command executed from filename.  If filename  does  not
              contain  a  slash,  filenames  in  PATH  are  used to find the directory containing
              filename.  The file searched for in PATH need not be executable.  When bash is  not
              in  posix  mode, the current directory is searched if no file is found in PATH.  If
              the sourcepath option to the shopt builtin command is turned off, the PATH  is  not
              searched.   If  any  arguments  are supplied, they become the positional parameters
              when filename is executed.  Otherwise the positional parameters are unchanged.   If
              the  -T  option  is  enabled,  source inherits any trap on DEBUG; if it is not, any
              DEBUG trap string is saved and restored around  the  call  to  source,  and  source
              unsets  the  DEBUG  trap while it executes.  If -T is not set, and the sourced file
              changes the DEBUG trap, the new value  is  retained  when  source  completes.   The
              return  status  is the status of the last command exited within the script (0 if no
              commands are executed), and false if filename is not found or cannot be read.

       alias [-p] [nombre[=valor] ...]
              Alias sin argumentos o con la opción -p muestra la lista de alias en la forma alias
              nombre=valor  en  la salida estándar.  Cuando se dan argumentos, se define un alias
              para cada nombre cuyo valor se da.  Un espacio extra tras  valor  hace  que  en  la
              siguiente  palabra  se  realice la sustitución de alias cuando el alias se expande.
              Para cada nombre en la lista de argumentos para el que no se suministre  un  valor,
              se muestran el nombre y el valor del alias.  Alias devuelve `verdad' a menos que se
              dé un nombre para el que no se haya definido un alias.

       bg [espectrab ...]
              Reanuda la tarea suspendida espectrab en segundo plano, como si se hubiera iniciado
              con  &.  Si  espectrab no está presente, se emplea la noción que tiene la shell del
              trabajo en curso.  bg espectrab devuelve 0 a menos que se ejecute cuando el control
              de  tareas  esté  deshabilitado,  o  cuando  se  ejecute  con  el control de tareas
              habilitado si espectrab no se encontró, o cuando se inició sin control de tareas.

       bind [-m mapatecl] [-lpsvPSVX]
       bind [-m mapatecl] [-q función] [-u función] [-r sectecl]
       bind [-m mapatecl] -f nombre-fichero
       bind [-m keymap] -x keyseq:orden-shell
       bind [-m mapatecl] sectecl:nombre-función
       bind [-m keymap] keyseq:orden-readline
              Display current readline key and function  bindings,  bind  a  key  sequence  to  a
              readline  function  or macro, or set a readline variable.  Each non-option argument
              is a command as it would appear in .inputrc, but each binding or  command  must  be
              passed  as a separate argument; e.g., '"\C-x\C-r": re-read-init-file'.  Options, if
              supplied, have the following meanings:
              -m mapatecl
                     Use keymap as  the  keymap  to  be  affected  by  the  subsequent  bindings.
                     Acceptable  keymap  names are emacs, emacs-standard, emacs-meta, emacs-ctlx,
                     vi, vi-move, vi-command, and vi-insert.   vi  is  equivalent  to  vi-command
                     (vi-move is also a synonym); emacs is equivalent to emacs-standard.
              -l     Lista los nombres de todas las funciones de readline.
              -p     Muestra  los nombres de funciones de readline de tal forma que puedan volver
                     a ser leídas.
              -P     Lista los nombres de funciones de readline actuales y las asociaciones.
              -s     Muestra las secuencias de teclas  de  readline  asociadas  a  macros  y  las
                     cadenas correspondientes de tal manera que puedan ser leídas de nuevo.
              -S     Muestra  las  secuencias  de  teclas  de  readline  asociadas a macros y las
                     cadenas de caracteres correspondientes.
              -v     Muestra los nombres de variables de readline y los valores de tal manera que
                     puedan volver a ser leídas.
              -V     Lista los nombres de variables de readline actuales y los valores.
              -f nombre-fichero
                     Lee las asociaciones de teclas desde nombre-fichero.
              -q función
                     Pregunta qué teclas llaman a la función especificada.
              -u función
                     Desenlaza todas las teclas asociadas a la función nombrada.
              -r sectecl
                     Borra cualquier asociación actual de sectecl.
              -x keyseq:orden-shell
                     Cause  shell-command  to  be  executed  whenever  keyseq  is  entered.  When
                     shell-command is executed, the shell sets the READLINE_LINE variable to  the
                     contents   of   the   readline   line  buffer  and  the  READLINE_POINT  and
                     READLINE_MARK variables to the current location of the insertion  point  and
                     the saved insertion point (the mark), respectively.  If the executed command
                     changes the value of any of READLINE_LINE, READLINE_POINT, or READLINE_MARK,
                     those new values will be reflected in the editing state.
              -X     List  all  key sequences bound to shell commands and the associated commands
                     in a format that can be reused as input.

              El valor devuelto es 0 a menos que se dé una opción no reconocida o que  ocurra  un
              error.

       break [n]
              Exit  from  within a for, while, until, or select loop.  If n is specified, break n
              levels.  n must be ≥ 1.  If n is greater than the number of  enclosing  loops,  all
              enclosing  loops are exited.  The return value is 0 unless n is not greater than or
              equal to 1.

       builtin orden-interna [argumentos]
              Ejecuta la orden interna de la shell  especificada,  pasándole  los  argumentos,  y
              devuelve  su  estado  de  salida.   Esto  es útil cuando se define una función cuyo
              nombre es el mismo que una orden interna de la shell, reteniendo  la  funcionalidad
              de  esa  orden  interna  dentro de la función.  Por ejemplo, la orden interna cd se
              puede redefinir normalmente de esta manera.  El estado  de  salida  es  `falso'  si
              orden-interna no es una orden incorporada de la shell.

       caller [expr]
              Returns  the  context  of  any active subroutine call (a shell function or a script
              executed with the . or source builtins).  Without expr, caller  displays  the  line
              number  and  source  filename  of  the  current subroutine call.  If a non-negative
              integer is supplied as expr, caller displays the line number, subroutine name,  and
              source  file  corresponding  to  that position in the current execution call stack.
              This extra information may be used, for example,  to  print  a  stack  trace.   The
              current  frame is frame 0.  The return value is 0 unless the shell is not executing
              a subroutine call or expr does not correspond to  a  valid  position  in  the  call
              stack.

       cd [-L|[-P [-e]] [-@]] [dir]
              Change the current directory to dir.  if dir is not supplied, the value of the HOME
              shell variable is the default.  Any additional arguments following dir are ignored.
              The  variable CDPATH defines the search path for the directory containing dir: each
              directory name in CDPATH is searched  for  dir.   Alternative  directory  names  in
              CDPATH  are  separated by a colon (:).  A null directory name in CDPATH is the same
              as the current directory, i.e., “.”.  If dir begins with a slash (/),  then  CDPATH
              is  not  used.   The -P option causes cd to use the physical directory structure by
              resolving symbolic links while traversing dir and before processing instances of ..
              in  dir  (see  also the -P option to the set builtin command); the -L option forces
              symbolic links to be followed by resolving the link after processing  instances  of
              ..  in  dir.   If  ..   appears in dir, it is processed by removing the immediately
              previous pathname component from dir, back to a slash or the beginning of dir.   If
              the  -e  option  is  supplied  with -P, and the current working directory cannot be
              successfully determined after a successful directory  change,  cd  will  return  an
              unsuccessful  status.   On  systems  that  support  it,  the -@ option presents the
              extended attributes associated with a file as a directory.  An  argument  of  -  is
              converted  to  $OLDPWD  before  the  directory change is attempted.  If a non-empty
              directory name from CDPATH is used,  or  if  -  is  the  first  argument,  and  the
              directory  change is successful, the absolute pathname of the new working directory
              is written to the standard output.  The return value is true if the  directory  was
              successfully changed; false otherwise.

       command [-pVv] orden [arg ...]
              Ejecuta  orden con args suprimiendo la búsqueda normal de funciones del shell. Solo
              se ejecutarán órdenes incorporadas en  la  shell  o  programas  encontrados  en  la
              variable  PATH.   Si  se  da  la  opción -p, se busca la orden empleándose un valor
              predeterminado para PATH que garantiza encontrar todas las utilidades estándar  del
              sistema.   Si  se da la opción -V o la -v, se muestra una descripción de orden.  La
              opción -v muestra una sola  palabra  que  indica  la  orden  o  nombre  de  fichero
              ejecutable  empleado  para la llamada a orden; la opción -V produce una descripción
              algo más prolija.  Si se dan las opciones -V o -v, el estado  de  salida  es  0  si
              orden  se encontró, y 1 si no. Si no se da ninguna de las dos opciones y ocurrió un
              error u orden no se encontró, el estado de salida es  127.  Si  no,  el  estado  de
              salida de command es el estado de salida de orden.

       compgen [opción] [palabra]
              Generate  possible  completion matches for word according to the options, which may
              be any option accepted by the complete builtin with the exception of -p and -r, and
              write  the  matches  to  the standard output.  When using the -F or -C options, the
              various shell variables  set  by  the  programmable  completion  facilities,  while
              available, will not have useful values.

              The  matches  will  be  generated in the same way as if the programmable completion
              code had generated them directly from a  completion  specification  with  the  same
              flags.   If  word  is  specified,  only  those  completions  matching  word will be
              displayed.

              The return value is true unless an invalid option is supplied, or no  matches  were
              generated.

       complete [-abcdefgjksuv] [-o comp-option] [-DEI] [-A action] [-G globpat] [-W wordlist]
              [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]
       complete -pr [-DEI] [nombre ...]
              Specify  how  arguments  to  each  name  should  be completed.  If the -p option is
              supplied, or if no options are supplied,  existing  completion  specifications  are
              printed  in  a way that allows them to be reused as input.  The -r option removes a
              completion specification  for  each  name,  or,  if  no  names  are  supplied,  all
              completion specifications.  The -D option indicates that other supplied options and
              actions should apply to the  “default”  command  completion;  that  is,  completion
              attempted on a command for which no completion has previously been defined.  The -E
              option indicates that other supplied options and actions should  apply  to  “empty”
              command  completion;  that is, completion attempted on a blank line.  The -I option
              indicates that other supplied options and actions should apply to completion on the
              initial  non-assignment word on the line, or after a command delimiter such as ; or
              |, which is usually command name completion.  If multiple options are supplied, the
              -D  option  takes  precedence over -E, and both take precedence over -I.  If any of
              -D, -E, or -I are supplied, any other name arguments are ignored; these completions
              only apply to the case specified by the option.

              El proceso para aplicar estas especificaciones de autocompletado sobre las palabras
              se describe en la sección Autocompletado Programable.

              Other options, if specified, have the following meanings.  The arguments to the -G,
              -W,  and -X options (and, if necessary, the -P and -S options)  should be quoted to
              protect them from expansion before the complete builtin is invoked.
              -o comp-option
                      The comp-option controls several aspects of the compspec's behavior  beyond
                      the simple generation of completions.  comp-option may be one of:
                      bashdefault
                              Perform  the  rest  of the default bash completions if the compspec
                              generates no matches.
                      default Use  readline's  default  filename  completion  if   the   compspec
                              generates no matches.
                      dirnames
                              Perform  directory  name  completion  if  the compspec generates no
                              matches.
                      filenames
                              Tell readline that the compspec  generates  filenames,  so  it  can
                              perform  any  filename-specific  processing (like adding a slash to
                              directory  names,  quoting  special  characters,   or   suppressing
                              trailing spaces).  Intended to be used with shell functions.
                      noquote Tell  readline  not  to  quote  the  completed  words  if  they are
                              filenames (quoting filenames is the default).
                      nosort  Tell  readline  not  to  sort  the  list  of  possible  completions
                              alphabetically.
                      nospace Tell  readline  not  to  append  a  space  (the  default)  to words
                              completed at the end of the line.
                      plusdirs
                              After any matches defined by the compspec are generated,  directory
                              name  completion  is  attempted  and  any  matches are added to the
                              results of the other actions.
              -A action
                      The action may be one of the following  to  generate  a  list  of  possible
                      completions:
                      alias   Alias names.  May also be specified as -a.
                      arrayvar
                              Array variable names.
                      binding Readline key binding names.
                      builtin Names of shell builtin commands.  May also be specified as -b.
                      command Command names.  May also be specified as -c.
                      directory
                              Directory names.  May also be specified as -d.
                      disabled
                              Names of disabled shell builtins.
                      enabled Names of enabled shell builtins.
                      export  Names of exported shell variables.  May also be specified as -e.
                      file    File names.  May also be specified as -f.
                      function
                              Names of shell functions.
                      group   Group names.  May also be specified as -g.
                      helptopic
                              Help topics as accepted by the help builtin.
                      hostname
                              Hostnames,  as  taken from the file specified by the HOSTFILE shell
                              variable.
                      job     Job names, if job control is active.  May also be specified as -j.
                      keyword Shell reserved words.  May also be specified as -k.
                      running Names of running jobs, if job control is active.
                      service Service names.  May also be specified as -s.
                      setopt  Valid arguments for the -o option to the set builtin.
                      shopt   Shell option names as accepted by the shopt builtin.
                      signal  Nombres de las señales.
                      stopped Nombre de las tareas detenidas, siempre que esté activo el  control
                              de tareas.
                      user    Nombres de usuario. También se puede utilizar -u
                      variable
                              Nombre de las variables de la shell. También se puede utilizar -v.
              -C orden
                      command  is  executed  in a subshell environment, and its output is used as
                      the possible completions.
              -F función
                      The shell function function is executed in the current  shell  environment.
                      When  the  function is executed, the first argument ($1) is the name of the
                      command whose arguments are being completed, the second  argument  ($2)  is
                      the word being completed, and the third argument ($3) is the word preceding
                      the word being completed on the current command line.   When  it  finishes,
                      the  possible  completions  are  retrieved  from the value of the COMPREPLY
                      array variable.
              -G globpat
                      The pathname expansion pattern globpat is expanded to generate the possible
                      completions.
              -P prefijo
                      prefix  is  added  at  the  beginning of each possible completion after all
                      other options have been applied.
              -S sufijo
                      suffix is appended to each possible completion after all other options have
                      been applied.
              -W lista_palabras
                      The  wordlist  is split using the characters in the IFS special variable as
                      delimiters, and each resultant word is expanded.  Shell quoting is  honored
                      within  wordlist,  in order to provide a mechanism for the words to contain
                      shell metacharacters or characters in  the  value  of  IFS.   The  possible
                      completions  are  the  members  of  the resultant list which match the word
                      being completed.
              -X filtro_ruta
                      filterpat is a pattern as used for pathname expansion.  It  is  applied  to
                      the  list  of  possible  completions generated by the preceding options and
                      arguments, and each completion matching filterpat is removed from the list.
                      A  leading ! in filterpat negates the pattern; in this case, any completion
                      not matching filterpat is removed.

              The return value is true unless an invalid option is supplied, an option other than
              -p  or  -r  is  supplied  without  a  name argument, an attempt is made to remove a
              completion specification for a name for which no specification exists, or an  error
              occurs adding a completion specification.

       compopt [-o opción] [-DEI] [+o opción] [nombre]
              Modify  completion  options  for  each  name  according  to the options, or for the
              currently-executing completion if no names are supplied.  If no options are  given,
              display  the  completion  options  for  each  name  or the current completion.  The
              possible values of option are those valid for the complete builtin described above.
              The  -D  option indicates that other supplied options should apply to the “default”
              command completion; that is,  completion  attempted  on  a  command  for  which  no
              completion  has  previously  been  defined.   The  -E  option  indicates that other
              supplied options should apply to “empty” command completion;  that  is,  completion
              attempted  on  a  blank  line.  The -I option indicates that other supplied options
              should apply to completion on the initial non-assignment word on the line, or after
              a command delimiter such as ; or |, which is usually command name completion.

              The  return  value is true unless an invalid option is supplied, an attempt is made
              to modify the options for a name for which no completion specification  exists,  or
              an output error occurs.

       continue [n]
              Resume the next iteration of the enclosing for, while, until, or select loop.  If n
              is specified, resume at the nth enclosing loop.  n must be ≥ 1.  If  n  is  greater
              than  the number of enclosing loops, the last enclosing loop (the “top-level” loop)
              is resumed.  The return value is 0 unless n is not greater than or equal to 1.

       declare [-aAfFgiIlnrtux] [-p] [nombre[=valor] ...]
       typeset [-aAfFgiIlnrtux] [-p] [nombre[=valor] ...]
              Declare variables and/or give them attributes.  If no names are given then  display
              the  values  of variables.  The -p option will display the attributes and values of
              each name.  When -p is used with name arguments, additional options, other than  -f
              and  -F,  are ignored.  When -p is supplied without name arguments, it will display
              the attributes and values of all variables having the attributes specified  by  the
              additional options.  If no other options are supplied with -p, declare will display
              the attributes and values of all shell variables.  The -f option will restrict  the
              display  to  shell  functions.   The  -F  option  inhibits  the display of function
              definitions; only the function name and attributes are printed.   If  the  extdebug
              shell  option  is  enabled  using shopt, the source file name and line number where
              each name is defined are displayed as well.  The -F  option  implies  -f.   The  -g
              option  forces  variables  to be created or modified at the global scope, even when
              declare is executed in a shell function.  It is ignored in all other cases.  The -I
              option  causes  local  variables  to  inherit  the  attributes  (except the nameref
              attribute)  and value of any existing variable with the same name at a  surrounding
              scope.   If  there  is no existing variable, the local variable is initially unset.
              The following options can  be  used  to  restrict  output  to  variables  with  the
              specified attribute or to give variables attributes:
              -a     Each name is an indexed array variable (see Arrays above).
              -A     Cada nombre es un vector asociativo (consulte Vectores más atrás).
              -f     Usar solamente nombres de funciones.
              -i     La  variable  se  trata  como  un  número  entero;  se realiza la evaluación
                     aritmética (vea EVALUACIÓN ARITMÉTICA)  cuando a la variable se le asigne un
                     valor.
              -l     Cuando  se  le  asigne  un  valor  a  la  variable,  todas las mayúsculas se
                     convierten en minúsculas. El atributo mayúsculas está desactivado.
              -n     Give each name the nameref attribute, making it a name reference to  another
                     variable.   That  other  variable  is  defined  by  the  value of name.  All
                     references, assignments, and attribute modifications to name,  except  those
                     using  or  changing  the  -n attribute itself, are performed on the variable
                     referenced by name's value.  The nameref  attribute  cannot  be  applied  to
                     array variables.
              -r     Hace  que  nombres  sean  de  lectura  exclusiva.  A estos nombres no se les
                     pueden asignar valores por medio de subsiguientes asignaciones, ni se  puede
                     anular su definición con unset.
              -t     Give  each name the trace attribute.  Traced functions inherit the DEBUG and
                     RETURN traps from the calling shell.  The trace  attribute  has  no  special
                     meaning for variables.
              -u     When  the  variable  is  assigned  a  value,  all  lower-case characters are
                     converted to upper-case.  The lower-case attribute is disabled.
              -x     Marca nombres para la  exportación  a  órdenes  subsecuentes  a  través  del
                     entorno.

              Using  `+' instead of `-' turns off the attribute instead, with the exceptions that
              +a and +A may not be used to destroy array variables and +r  will  not  remove  the
              readonly  attribute.   When  used in a function, declare and typeset make each name
              local, as with the local command, unless the -g option is supplied.  If a  variable
              name  is followed by =value, the value of the variable is set to value.  When using
              -a or -A and the compound assignment syntax to create array  variables,  additional
              attributes  do not take effect until subsequent assignments.  The return value is 0
              unless an invalid option is encountered, an attempt is made to  define  a  function
              using  ``-f foo=bar'', an attempt is made to assign a value to a readonly variable,
              an attempt is made to assign a  value  to  an  array  variable  without  using  the
              compound  assignment  syntax  (see  Arrays  above), one of the names is not a valid
              shell variable name, an attempt is made to turn off readonly status for a  readonly
              variable,  an attempt is made to turn off array status for an array variable, or an
              attempt is made to display a non-existent function with -f.

       dirs [-clpv] [+n] [-n]
              Sin opciones, muestra la lista de directorios que recuerda. La forma predeterminada
              de  mostrarlos  es  en  una sola línea con los nombres de directorios separados por
              espacios.  Los directorios se añaden a la lista (en  realidad,  una  pila)  con  la
              orden pushd; la orden popd los quita de la pila. El directorio actual es siempre el
              primero en la pila.
              -c     Limpia la pila de directorios borrando todas las entradas.
              -l     Crea un listado empleando los nombres de ruta  completos;  por  defecto,  el
                     directorio home se designa utilizando una tilde.
              -p     Muestra la pila de directorios con una entrada por cada línea.
              -v     Muestra  la  pila  de directorios con una entrada por línea, prefijando cada
                     entrada con su índice en la pila.
              +n     Muestra la n-sima entrada contando desde la izquierda de la  lista  mostrada
                     por dirs cuando se llama sin opciones, empezando por cero.
              -n     Muestra la n-sima entrada contando desde la derecha de la lista mostrada por
                     dirs cuando se llama sin opciones, empezando por cero.

              El valor de retorno es 0 a menos que se dé una opción inválida o que n  indexe  más
              allá del final de la pila de directorios.

       disown [-ar] [-h] [espectrab ... | pid ... ]
              Without  options, remove each jobspec from the table of active jobs.  If jobspec is
              not present, and neither the -a nor the -r option is supplied, the current  job  is
              used.   If  the -h option is given, each jobspec is not removed from the table, but
              is marked so that SIGHUP is not sent to the job if the shell receives a SIGHUP.  If
              no  jobspec  is  supplied,  the  -a option means to remove or mark all jobs; the -r
              option without a jobspec argument restricts operation to running jobs.  The  return
              value is 0 unless a jobspec does not specify a valid job.

       echo [-neE] [arg ...]
              Output  the args, separated by spaces, followed by a newline.  The return status is
              0 unless a write error occurs.   If  -n  is  specified,  the  trailing  newline  is
              suppressed.    If   the  -e  option  is  given,  interpretation  of  the  following
              backslash-escaped characters is enabled.  The -E option disables the interpretation
              of  these escape characters, even on systems where they are interpreted by default.
              The xpg_echo shell option may be used to dynamically determine whether or not  echo
              expands these escape characters by default.  echo does not interpret -- to mean the
              end of options.  echo interprets the following escape sequences:
              \a     alerta (pitido)
              \b     espacio-atrás
              \c     suppress further output
              \e
              \E     un carácter de escape (ESC)
              \f     nueva página
              \n     nueva linea
              \r     retorno de carro
              \t     tabulación horizontal
              \v     tabulación vertical
              \\     barra invertida
              \0nnn  the eight-bit character whose value is the octal value nnn  (zero  to  three
                     octal digits)
              \xHH   el  carácter  de  8-bits  cuyo  código es el valor hexadecimal HH (uno o dos
                     dígitos hexadecimales)
              \uHHHH caŕácter Unicode (ISO/IEC 10646) cuyo valor hexadecimal es HHHH  (de  uno  a
                     cuatro caracteres hexadecimales)
              \UHHHHHHHH
                     caŕácter  Unicode (ISO/IEC 10646) cuyo valor hexadecimal es HHHHHHHH (de uno
                     a ocho caracteres hexadecimales)

       enable [-a] [-dnps] [-f nombre-archivo] [nombre ...]
              Enable and disable builtin shell commands.   Disabling  a  builtin  allows  a  disk
              command  which  has  the  same  name  as  a  shell  builtin  to be executed without
              specifying a full pathname, even though the shell normally  searches  for  builtins
              before  disk  commands.  If -n is used, each name is disabled; otherwise, names are
              enabled.  For example, to use the test binary found via the  PATH  instead  of  the
              shell builtin version, run ``enable -n test''.  The -f option means to load the new
              builtin command name from shared object filename, on systems that  support  dynamic
              loading.   The  -d  option  will delete a builtin previously loaded with -f.  If no
              name arguments are given, or if the -p option is supplied, a list of shell builtins
              is printed.  With no other option arguments, the list consists of all enabled shell
              builtins.  If -n is supplied,  only  disabled  builtins  are  printed.   If  -a  is
              supplied,  the list printed includes all builtins, with an indication of whether or
              not each is enabled.  If -s is supplied, the output  is  restricted  to  the  POSIX
              special  builtins.   The  return value is 0 unless a name is not a shell builtin or
              there is an error loading a new builtin from a shared object.

       eval [arg ...]
              Los args se leen y concatenan juntos para formar una sola orden. Entonces la  shell
              lee  y ejecuta esta orden, y su estado de salida se devuelve como el valor de eval.
              Si no hay args, o solamente argumentos vacíos, eval devuelve 0.

       exec [-cl] [-a nombre] [orden [argumentos]]
              Si se especifica orden, reemplaza a la shell.  No se crea ningún proceso nuevo sino
              que  los argumentos pasan a ser los argumentos de orden.  Si se da la opción -l, la
              shell pone un guión en el argumento número cero pasado a orden.   Esto  es  lo  que
              hace  login(1).  La opción -c hace que orden se ejecute con un entorno vacío. Si se
              da -a, la shell pasa nombre como el argumento número cero de la orden ejecutada. Si
              orden  no puede ejecutarse por alguna razón, una shell no interactiva finalizará, a
              menos que se haya activado la opción de la shell execfail, en  cuyo  caso  devuelve
              `fallo'.  Una  subshell  finalizará  siempre  su ejecución si falla exec. Una shell
              interactiva devuelve `fallo' si el archivo no puede ejecutarse.   Si  orden  no  se
              especifica, cualquier redirección tiene efecto en la shell en curso, y el estado de
              salida es 0. Si hay un error de redirección, el estado de salida será 1.

       exit [n]
              Hace que la shell acabe con un estado de valor n. Si n se omite, el valor de salida
              es  el de la última orden ejecutada.  Se ejecuta una trampa puesta en EXIT antes de
              que la shell termine.

       export [-fn] [nombre[=palabra]] ...
       export -p
              The  supplied  names  are  marked  for  automatic  export  to  the  environment  of
              subsequently  executed  commands.   If  the  -f option is given, the names refer to
              functions.  If no names are given, or if the -p option is supplied, a list of names
              of  all exported variables is printed.  The -n option causes the export property to
              be removed from each name.  If a variable name is followed by =word, the  value  of
              the  variable is set to word.  export returns an exit status of 0 unless an invalid
              option is encountered, one of the names is not a valid shell variable name,  or  -f
              is supplied with a name that is not a function.

       fc [-e editor] [-lnr] [primero] [último]
       fc -s [pat=rep] [ord]
              The first form selects a range of commands from first to last from the history list
              and displays or edits and re-executes them.  First and last may be specified  as  a
              string  (to  locate the last command beginning with that string) or as a number (an
              index into the history list, where a negative number is used as an offset from  the
              current  command  number).   When listing, a first or last of 0 is equivalent to -1
              and -0 is equivalent to the current command (usually the fc command);  otherwise  0
              is  equivalent to -1 and -0 is invalid.  If last is not specified, it is set to the
              current command for listing (so that ``fc -l -10'' prints the last 10 commands) and
              to  first  otherwise.  If first is not specified, it is set to the previous command
              for editing and -16 for listing.

              La opción -n suprime los números de orden en un listado. La opción -r  invierte  el
              orden  de  los mandatos. Si se da la opción -l , las órdenes se listan en la salida
              estándar. Si no, se llama al editor dado por editor en un fichero conteniendo  esas
              órdenes.   Si no se da editor, se emplea el valor de la variable FCEDIT, o el valor
              de EDITOR si FCEDIT no está definido. Si no está definida ni una variable ni  otra,
              vi  vi  es  el  editor  que  se empleará. Cuando la edición se haya completado, las
              órdenes editadas se muestran y ejecutan.

              En la segunda forma, orden  se  re-ejecuta  tras  que  cada  instancia  de  pat  se
              reemplace   por   rep.   orden  se  interpreta  igual  que  se  hacía  con  primero
              anteriormente. Un alias de utilidad para emplear con esto es ``r="fc -s"'', de  tal
              modo  que  al teclear ``r cc'' se ejecute la última orden que empezara con ``cc'' y
              que al teclear ``r'' se re-ejecute la última orden.

              Si se usa la primera forma, el valor de retorno es 0 a menos que se  encuentre  una
              opción  inválida  o  que  primero o último especifiquen líneas de historia fuera de
              intervalo.  Si se suministra la opción -e, el valor de retorno es el de  la  última
              orden  ejecutada,  o `fallo' si ocurre un error con el fichero temporal de órdenes.
              Si se emplea la segunda forma, el estado de retorno es de la orden  reejecutada,  a
              menos que ord no especifique una línea válida de historia, en cuyo caso fc devuelve
              `fallo'.

       fg [espectrab]
              Reanuda espectrab en primer plano, y lo hace ser el trabajo en curso.  Si espectrab
              no  está  presente,  se  usa  la noción que tiene la shell del trabajo en curso. El
              valor de retorno es el de la orden puesta en primer plano, o `fallo' si se  ejecuta
              fg  cuando  el  control  de  trabajos  está desactivado o, cuando se ejecuta con el
              control de trabajos activado, si  espectrab  no  especifica  un  trabajo  válido  o
              espectrab se refiere a una trabajo que se arrancó sin control de trabajos.

       getopts cadenaopcs nombre [arg ...]
              getopts  is  used  by  shell  procedures to parse positional parameters.  optstring
              contains the option characters to be recognized; if a character is  followed  by  a
              colon,  the  option is expected to have an argument, which should be separated from
              it by white space.  The colon and question mark  characters  may  not  be  used  as
              option  characters.  Each time it is invoked, getopts places the next option in the
              shell variable name, initializing name if it does not exist, and the index  of  the
              next argument to be processed into the variable OPTIND.  OPTIND is initialized to 1
              each time the shell or a shell script is  invoked.   When  an  option  requires  an
              argument,  getopts  places  that argument into the variable OPTARG.  The shell does
              not reset OPTIND automatically; it must be manually reset between multiple calls to
              getopts within the same shell invocation if a new set of parameters is to be used.

              Cuando  se  encuentra  el fin de las opciones, getopts sale con un valor de retorno
              mayor que cero.  OPTIND se pone al índice  del  primer  argumento  que  no  es  una
              opción, y nombre se pone a "?".

              getopts  normally  parses  the  positional  parameters,  but  if more arguments are
              supplied as arg values, getopts parses those instead.

              getopts puede informar de  errores  de  dos  maneras.  Si  el  primer  carácter  de
              optstring  es  dos  puntos,  se  emplea un informe de error silencioso.  En un modo
              normal de operación se muestran  mensajes  de  diagnósticos  cuando  se  encuentran
              opciones  inválidas  o  faltan  argumentos  de  opciones  que los requieran.  Si la
              variable OPTERR se pone a 0, no se mostrará ningún mensaje de error, incluso si  el
              primer carácter de optstring no es dos puntos.

              Si  se ve una opción inválida, getopts pone ? en nombre y, si no estamos en el modo
              silencioso, se muestra un mensaje de error  y  se  anula  OPTARG.   Si  getopts  es
              silencioso,  el  carácter  de  opción  encontrado se pone en OPTARG y no se muestra
              ningún mensaje de diagnóstico.

              Si no se encuentra un argumento necesario, y getopts no es silencioso, se  pone  un
              signo  de  cierre  de interrogación (?) en nombre, OPTARG se anula, y se muestra un
              mensaje de diagnóstico.  Si getopts es silencioso, entonces se pone un signo de dos
              puntos (:) en nombre y OPTARG toma el valor del carácter de opción encontrado.

              getopts devuelve `verdad' si una opción, especificada o no, se encuentra.  Devuelve
              `falso' si se encuentra el final de las opciones o si ocurre un error.

       hash [-lr] [-p nombre-fichero] [-dt] [nombre]
              Each time hash is invoked, the full pathname of the command name is  determined  by
              searching  the  directories  in  $PATH  and  remembered.  Any previously-remembered
              pathname is discarded.  If the -p option is supplied, no path search is  performed,
              and filename is used as the full filename of the command.  The -r option causes the
              shell to forget all remembered locations.  The -d option causes the shell to forget
              the  remembered  location  of  each  name.   If the -t option is supplied, the full
              pathname to which each name corresponds is printed.  If multiple name arguments are
              supplied  with  -t,  the  name  is printed before the hashed full pathname.  The -l
              option causes output to be displayed in a format that may be reused as  input.   If
              no  arguments  are  given,  or if only -l is supplied, information about remembered
              commands is printed.  The return status is true unless a name is not  found  or  an
              invalid option is supplied.

       help [-dms] [patrón]
              Muestra  información  de ayuda sobre las órdenes internas. Si se especifica patrón,
              help da ayuda detallada sobre todas las órdenes que concuerden con patrón;  si  no,
              se  muestra  ayuda  para  todas las órdenes internas y estructuras de control de la
              shell.
              -d     Display a short description of each pattern
              -m     Display the description of each pattern in a manpage-like format
              -s     Display only a short usage synopsis for each pattern

              The return status is 0 unless no command matches pattern.

       history [n]
       history -c
       history -d offset
       history -d start-end
       history -anrw [nombre-fichero]
       history -p arg [arg ...]
       history -s arg [arg ...]
              Sin opciones, muestra el historial de órdenes con su números de línea.  Las  líneas
              marcadas  con  un  *  han  sido  modificadas. Un argumento de n lista solamente las
              últimas  n  líneas.  Si  está  definida  (y  no  es  nula)  la  variable  de  shell
              HISTTIMEFORMAT se usará para formatear la salida de strftime(3) donde se muestra la
              fecha y hora de cada entrada del historial. No se  intercalan  espacios  en  blanco
              entre la fecha y hora y la línea del historial. Puede indicarse nombre_archivo para
              definir el nombre del archivo de historial,sino se indica  se  usará  el  valor  de
              HISTFILE. Si se dan opciones, tendrán el siguiente significado:
              -c     Limpia el historial borrando todas las entradas.
              -d posición
                     Borra  la  posición  posición  del historial. Si se define un valor negativo
                     para posición, se interpreta como una posición más adelante  que  la  de  la
                     última línea del historial. Esto es, que los valores negativos cuentan hacia
                     atrás a partir del final del historial: un índice de -1 hace referencia a la
                     orden actual history -d.
              -d inicio-fin
                     Borra  las  entradas  del  historial entre las posiciones inicio y fin ambas
                     inclusive. Los valores  positivos  y  negativos  para  estas  posiciones  se
                     interpretan tal como se describió anteriormente.
              -a     Añade nuevas líneas (las introducidas desde el inicio de la actual sesión de
                     bash) al historial.
              -n     Lee las líneas de órdenes que aún no han sido leídas y las introduce  en  el
                     historial.  Éstas  son las líneas añadidas al historial desde el comienzo de
                     la sesión de bash actual.
              -r     Lee el contenido del historial y lo añade a la lista actual.curso.
              -w     Escribe la historia en curso en el historial, sobreescribiendo su contenido.
              -p     Realiza la sustitución de historia de  los  siguientes  args  y  muestra  el
                     resultado  en  la salida estándar.  No almacena los resultados en el fichero
                     de historia.  Cada arg debe protegerse para  deshabilitar  la  expansión  de
                     historia normal.
              -s     Almacena los args en el historial como una sola entrada. La última orden del
                     hisotrial se elimina antes de que se añadan los args.

              If the HISTTIMEFORMAT variable is set, the time stamp information  associated  with
              each  history entry is written to the history file, marked with the history comment
              character.  When the history file is read, lines beginning with the history comment
              character  followed  immediately  by  a digit are interpreted as timestamps for the
              following history entry.  The return  value  is  0  unless  an  invalid  option  is
              encountered,  an error occurs while reading or writing the history file, an invalid
              offset is supplied as an argument to -d, or the history expansion  supplied  as  an
              argument to -p fails.

       jobs [-lnprs] [ espectrab ... ]
       jobs -x orden [ args ... ]
              La  primera  forma lista los trabajos activos. Las opciones tienen los significados
              siguientes:
              -l     Lista PIDs además de la información normal.
              -n     Muestra información solamente sobre trabajos  que  han  cambiado  de  estado
                     desde que se notificó al usuario por última vez de su estado.
              -p     Lista solamente el PID del líder del grupo de proceso del trabajo.
              -r     Muestra únicamente trabajos en ejecución.
              -s     Muestra únicamente trabajos detenidos.

              Si  se da espectrab, la salida se restringe a la información sobre ese trabajo.  El
              estado de retorno es cero a menos  que  se  encuentre  una  opción  inválida  o  se
              suministre un espectrab inválido.

              Si  se  da  la  opción -x, jobs reemplaza cualquier espectrab encontrado en orden o
              args con el ID de grupo de proceso correspondiente, y ejecuta orden pasándole args,
              devolviendo su estado de salida.

       kill [-s nombre-señal | -n numseñal | -nombre-señal] [pid | espectrab] ...
       kill -l|-L [nombre-señal | status_salida]
              Send  the  signal  named  by  sigspec  or  signum  to the processes named by pid or
              jobspec.  sigspec is either a case-insensitive signal name such as SIGKILL (with or
              without  the SIG prefix) or a signal number; signum is a signal number.  If sigspec
              is not present, then SIGTERM is assumed.  An argument of -l lists the signal names.
              If  any  arguments  are  supplied  when  -l  is  given,  the  names  of the signals
              corresponding to the arguments are  listed,  and  the  return  status  is  0.   The
              exit_status  argument  to  -l  is a number specifying either a signal number or the
              exit status of a process terminated by a signal.  The -L option  is  equivalent  to
              -l.  kill returns true if at least one signal was successfully sent, or false if an
              error occurs or an invalid option is encountered.

       let arg [arg ...]
              Each arg is an arithmetic expression to be  evaluated  (see  ARITHMETIC  EVALUATION
              above).  If the last arg evaluates to 0, let returns 1; 0 is returned otherwise.

       local [option] [name[=value] ... | - ]
              For each argument, a local variable named name is created, and assigned value.  The
              option can be any of the options accepted by declare.  When local is used within  a
              function,  it  causes  the variable name to have a visible scope restricted to that
              function and its children.  If name is -, the set of shell options is made local to
              the function in which local is invoked: shell options changed using the set builtin
              inside the function are  restored  to  their  original  values  when  the  function
              returns.   The  restore is effected as if a series of set commands were executed to
              restore the values that were in place before the function.  With no operands, local
              writes  a  list  of  local variables to the standard output.  It is an error to use
              local when not within a function.  The return status is  0  unless  local  is  used
              outside a function, an invalid name is supplied, or name is a readonly variable.

       logout Sale de la shell.

       mapfile  [-d  delim]  [-n  count]  [-O  origin]  [-s count] [-t] [-u fd] [-C callback] [-c
       quantum] [array]
       readarray [-d delim] [-n count] [-O origin] [-s count] [-t]  [-u  fd]  [-C  callback]  [-c
       quantum] [array]
              Read  lines  from the standard input into the indexed array variable array, or from
              file descriptor fd if the -u option is  supplied.   The  variable  MAPFILE  is  the
              default array.  Options, if supplied, have the following meanings:
              -d     The  first  character  of delim is used to terminate each input line, rather
                     than newline.  If delim is the empty string, mapfile will terminate  a  line
                     when it reads a NUL character.
              -n     Copy at most count lines.  If count is 0, all lines are copied.
              -O     Begin assigning to array at index origin.  The default index is 0.
              -s     Elimina las primeras numero líneas leidas.
              -t     Remove a trailing delim (default newline) from each line read.
              -u     Read lines from file descriptor fd instead of the standard input.
              -C     Evaluate callback each time quantum lines are read.  The -c option specifies
                     quantum.
              -c     Specify the number of lines read between each call to callback.

              If -C is specified without -c, the default  quantum  is  5000.   When  callback  is
              evaluated,  it  is  supplied the index of the next array element to be assigned and
              the line to be assigned to that  element  as  additional  arguments.   callback  is
              evaluated after the line is read but before the array element is assigned.

              If  not supplied with an explicit origin, mapfile will clear array before assigning
              to it.

              mapfile returns successfully  unless  an  invalid  option  or  option  argument  is
              supplied, array is invalid or unassignable, or if array is not an indexed array.

       popd [-n] [+n] [-n]
              Quita entradas de la pila de directorios. Sin argumentos, desapila el directorio de
              la cima de la pila,  y  realiza  un  cd  al  nuevo  directorio  de  la  pila.   Los
              argumentos, si se suministran, tienen los siguientes significados:
              -n     Suprime  el  normal cambio de directorio cuando se desapilan directorios, de
                     forma que solamente la pila se manipula.
              +n     Removes the nth entry counting from the left of  the  list  shown  by  dirs,
                     starting  with zero.  For example: ``popd +0'' elimina el primer directorio,
                     ``popd +1'' el segundo.
              -n     Elimina la n-sima entrada (contando desde la derecha de  la  lista  mostrada
                     por  dirs,  empezando  por  cero. Por ejemplo: ``popd -0'' Elimina el último
                     directorio, ``popd -1'' el siguiente al último.

              Si la orden popd es exitosa, también se realiza un dirs, y el estado de retorno  es
              0.   popd  devuelve  `falso'  si  se  encuentra  una  opción  inválida,  la pila de
              directorios está vacía, se especifica una entrada de  la  pila  de  directorios  no
              existente, o falla el cambio de directorio.

       printf [-v var] formato [argumentos]
              Escribe  los argumentos formateados por la salida estándar bajo control de formato.
              La opción -v hace que la salida se asigne a la variable var en lugar  de  mostrarse
              por la salida estándar.

              formato  es  un  cadena de caracteres con tres tipos de objetos: caracteres simples
              que simplemente se envían a la  salida  estándar,  caracteres  de  escape  que  son
              convertidos  antes  de enviarse a la salida estándar y especificaciones de formatos
              que hacen que se impriman los siguientes argumentos. Además de las especificaciones
              del  formato  estándar  de  printf(1),  printf  también  interpreta  las siguientes
              extensiones:
              %b     hace que printf expanda la barra invertida en el  correspondiente  argumento
                     como lo haría echo -e.
              %q     causes  printf  to output the corresponding argument in a format that can be
                     reused as shell input.
              %(datefmt)T
                     causes printf to output the date-time string resulting from using datefmt as
                     a  format  string for strftime(3).  The corresponding argument is an integer
                     representing the number of seconds since the epoch.   Two  special  argument
                     values  may  be  used: -1 represents the current time, and -2 represents the
                     time the shell was invoked.  If no argument is specified, conversion behaves
                     as if -1 had been given.  This is an exception to the usual printf behavior.

              The  %b, %q, and %T directives all use the field width and precision arguments from
              the format specification and write that many bytes from (or use that wide  a  field
              for)  the  expanded  argument,  which  usually  contains  more  characters than the
              original.

              Arguments to non-string format specifiers are treated as C constants, except that a
              leading  plus or minus sign is allowed, and if the leading character is a single or
              double quote, the value is the ASCII value of the following character.

              El  formato  se  reutiliza  tanto  como  sea  necesario  para  consumir  todos  los
              argumentos.   Si el formato requiere más argumentos que los que se suministran, las
              especificaciones de formato extra se comportan como si se  hubiera  dado  un  valor
              cero  o  una  cadena  vacía,  según  lo apropiado. El valor de retorno será cero si
              finaliza con éxito y otra cifra si falla.

       pushd [-n] [+n] [-n]
       pushd [-n] [dir]
              Añade un directorio a la cima de la pila de directorios, o rota la  pila,  haciendo
              que  el directorio de trabajo en curso sea la nueva cima de la pila. Sin argumentos
              pushd intercambia los dos directorios de más arriba y devuelve 0, a  menos  que  la
              pila  de  directorios  esté  vacía.   Los argumentos, si se suministran, tienen los
              siguientes significados:
              -n     Suprime el cambio normal de directorio cuando se rotan o añaden  directorios
                     a la pila, de forma que solamente se manipula la pila.
              +n     Rota  la pila de forma que el n-simo directorio (contando desde la izquierda
                     de la lista mostrada por dirs, empezando por cero)  esté en la cima.
              -n     Rota la pila de forma que el n-simo directorio (contando desde la derecha de
                     la lista mostrada por dirs, empezando por cero)  esté en la cima.
              dir    Añade  dir  a  la  pila  de  directorios  en  la  cima,  haciéndolo el nuevo
                     directorio de trabajo tal como si hubiese  aportado  como  argumento  de  la
                     orden cd.

              Si  la  orden  pushd  acaba  con éxito, se realiza un dirs también. Si se emplea la
              primera forma, pushd devuelve 0 a menos que falle el cambio a dir.  Con la  segunda
              forma,  pushd  devuelve  0  a  menos  que la pila de directorios esté vacía, que se
              especifique un elemento de la pila de directorios inexistente, o que el  cambio  de
              directorio falle.

       pwd [-LP]
              Print the absolute pathname of the current working directory.  The pathname printed
              contains no symbolic links if the -P option is supplied or the -o  physical  option
              to  the  set  builtin  command  is enabled.  If the -L option is used, the pathname
              printed may contain symbolic links.  The return status is 0 unless an error  occurs
              while reading the name of the current directory or an invalid option is supplied.

       read  [-ers]  [-a  aname]  [-d  delim]  [-i  text] [-n nchars] [-N nchars] [-p prompt] [-t
       timeout] [-u fd] [nombre ...]
              One line is read from the standard input, or from the file descriptor  fd  supplied
              as  an  argument  to  the -u option, split into words as described above under Word
              Splitting, and the first word is assigned to the first name, the second word to the
              second  name,  and  so on.  If there are more words than names, the remaining words
              and their intervening delimiters are assigned to the last name.  If there are fewer
              words read from the input stream than names, the remaining names are assigned empty
              values.  The characters in IFS are used to split the line into words using the same
              rules  the  shell  uses  for expansion (described above under Word Splitting).  The
              backslash character (\) may be used to remove any  special  meaning  for  the  next
              character read and for line continuation.  Options, if supplied, have the following
              meanings:
              -a array
                     Las palabras se asignan secuencialmente  a  los  elementos  de  la  variable
                     vector  array,  empezando  por  0.  Se anula la posible previa definición de
                     array antes de que se asignen nuevos valores.  Otros argumentos nombre no se
                     tienen en consideración.
              -d delim
                     The  first  character  of  delim is used to terminate the input line, rather
                     than newline.  If delim is the empty string, read will terminate a line when
                     it reads a NUL character.
              -e     If  the  standard  input  is  coming from a terminal, readline (see READLINE
                     above) is used to obtain the line.  Readline uses the current  (or  default,
                     if  line  editing  was  not  previously  active)  editing settings, but uses
                     Readline's default filename completion.
              -i text
                     If readline is being used to read the line, text is placed into the  editing
                     buffer before editing begins.
              -n nchars
                     read  returns  after  reading  nchars  characters  rather than waiting for a
                     complete line of  input,  but  honors  a  delimiter  if  fewer  than  nchars
                     characters are read before the delimiter.
              -N nchars
                     read returns after reading exactly nchars characters rather than waiting for
                     a complete line of input, unless EOF  is  encountered  or  read  times  out.
                     Delimiter  characters encountered in the input are not treated specially and
                     do not cause read to return until nchars characters are read.  The result is
                     not  split  on  the  characters  in  IFS; the intent is that the variable is
                     assigned exactly the characters read (with the exception of  backslash;  see
                     the -r option below).
              -p prompt
                     Display  prompt  on  standard  error,  without  a  trailing  newline, before
                     attempting to read any input.  The prompt is  displayed  only  if  input  is
                     coming from a terminal.
              -r     Backslash  does not act as an escape character.  The backslash is considered
                     to be part of the line.  In particular, a  backslash-newline  pair  may  not
                     then be used as a line continuation.
              -s     Silent mode.  If input is coming from a terminal, characters are not echoed.
              -t timeout
                     Cause  read to time out and return failure if a complete line of input (or a
                     specified number  of  characters)   is  not  read  within  timeout  seconds.
                     timeout  may  be  a  decimal  number with a fractional portion following the
                     decimal point.  This option is only effective if read is reading input  from
                     a  terminal, pipe, or other special file; it has no effect when reading from
                     regular files.  If read times out, read saves any partial  input  read  into
                     the  specified  variable  name.   If timeout is 0, read returns immediately,
                     without trying to read any data.  The exit status is 0 if input is available
                     on  the  specified  file descriptor, non-zero otherwise.  The exit status is
                     greater than 128 if the timeout is exceeded.
              -u fd  Read input from file descriptor fd.

              If no names are supplied, the line read, without the ending delimiter but otherwise
              unmodified,  is  assigned  to  the variable REPLY.  The exit status is zero, unless
              end-of-file is encountered, read times out (in which case  the  status  is  greater
              than  128),  a variable assignment error (such as assigning to a readonly variable)
              occurs, or an invalid file descriptor is supplied as the argument to -u.

       readonly [-aAf] [-p] [nombre[=palabra] ...]
              The given names are marked readonly; the values of these names may not  be  changed
              by   subsequent   assignment.    If  the  -f  option  is  supplied,  the  functions
              corresponding to the names are so marked.  The -a option restricts the variables to
              indexed  arrays;  the  -A option restricts the variables to associative arrays.  If
              both options are supplied, -A takes precedence.  If no name arguments are given, or
              if  the  -p option is supplied, a list of all readonly names is printed.  The other
              options may be used to restrict the output to a  subset  of  the  set  of  readonly
              names.   The -p option causes output to be displayed in a format that may be reused
              as input.  If a variable name is followed by =word, the value of  the  variable  is
              set  to  word.  The return status is 0 unless an invalid option is encountered, one
              of the names is not a valid shell variable name, or -f is supplied with a name that
              is not a function.

       return [n]
              Causes  a  function  to  stop  executing and return the value specified by n to its
              caller.  If n is omitted, the return status is that of the last command executed in
              the  function body.  If return is executed by a trap handler, the last command used
              to determine the status is the last command executed before the trap  handler.   If
              return  is  executed  during  a  DEBUG trap, the last command used to determine the
              status is the last command executed by the trap handler before return was  invoked.
              If  return  is  used  outside a function, but during execution of a script by the .
              (source) command, it causes the shell to stop  executing  that  script  and  return
              either  n  or the exit status of the last command executed within the script as the
              exit status of the script.  If n  is  supplied,  the  return  value  is  its  least
              significant  8  bits.   The  return  status  is  non-zero  if  return is supplied a
              non-numeric argument, or is used outside a function and not during execution  of  a
              script  by  .  or  source.  Any command associated with the RETURN trap is executed
              before execution resumes after the function or script.

       set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]
       set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]
              Without options, the name and value of each  shell  variable  are  displayed  in  a
              format  that  can  be  reused  as  input for setting or resetting the currently-set
              variables.  Read-only variables  cannot  be  reset.   In  posix  mode,  only  shell
              variables  are listed.  The output is sorted according to the current locale.  When
              options are specified, they set or unset shell attributes.  Any arguments remaining
              after option processing are treated as values for the positional parameters and are
              assigned, in order, to $1, $2, ... $n.  Options, if specified, have  the  following
              meanings:
              -a      Each  variable  or function that is created or modified is given the export
                      attribute and marked for export to the environment of subsequent commands.
              -b      Informa  del  estado  de  los  trabajos   en   segundo   plano   terminados
                      inmediatamente,  en  vez  de  esperar a justo antes de mostrar el siguiente
                      indicador primario. Esto solo es efectivo cuando  el  control  de  trabajos
                      está habilitado.
              -e      Exit  immediately  if  a  pipeline  (which  may  consist of a single simple
                      command), a list, or a compound command (see SHELL  GRAMMAR  above),  exits
                      with  a non-zero status.  The shell does not exit if the command that fails
                      is part of the command list immediately following a while or until keyword,
                      part  of  the  test  following  the  if or elif reserved words, part of any
                      command executed in a && or || list except the command following the  final
                      &&  or  ||,  any  command  in  a pipeline but the last, or if the command's
                      return value is being inverted with !.  If a compound command other than  a
                      subshell  returns  a  non-zero status because a command failed while -e was
                      being ignored, the shell does not exit.  A trap on ERR, if set, is executed
                      before  the  shell exits.  This option applies to the shell environment and
                      each subshell environment separately  (see  COMMAND  EXECUTION  ENVIRONMENT
                      above),  and  may cause subshells to exit before executing all the commands
                      in the subshell.

                      If a compound command or shell function executes in a context where  -e  is
                      being ignored, none of the commands executed within the compound command or
                      function body will be affected by the -e setting, even if -e is set  and  a
                      command  returns a failure status.  If a compound command or shell function
                      sets -e while executing in a context where -e is ignored, that setting will
                      not  have  any  effect until the compound command or the command containing
                      the function call completes.
              -f      Deshabilita la expansión de nombres de rutas.
              -h      Recuerda la localización de órdenes una  vez  que  se  buscan  para  la  1ª
                      ejecución. Esto está habilitado de forma predeterminada.
              -k      Todos  los  argumentos  en forma de sentencias de asignación se ponen en el
                      entorno para una orden, no solamente aquéllos que precedan al nombre de  la
                      orden.
              -m      Modo de monitor.  Se habilita el control de tareas. Esta opción está puesta
                      de forma predeterminada para shells interactivos en sistemas que lo admitan
                      (vea  CONTROL DE TAREAS arriba). Los procesos se ejecutan todos ellos en un
                      grupo de proceso separado. Cuando finaliza una tarea en segundo  plano,  la
                      shell muestra una línea con su estado de salida.
              -n      Lee  órdenes pero no las ejecuta. Esto puede emplearse para comprobar si un
                      guión de la shell tiene errores de sintaxis. Para shells interactivos  esta
                      opción no tiene efecto.
              -o nombre-opción
                      El nombre-opción puede ser uno de los siguientes:
                      allexport
                              Lo miso que -a.
                      braceexpand
                              Lo miso que -B.
                      emacs   Use an emacs-style command line editing interface.  This is enabled
                              by default when the shell  is  interactive,  unless  the  shell  is
                              started with the --noediting option.  This also affects the editing
                              interface used for read -e.
                      errexit Lo mismo que -e.
                      errtrace
                              Lo mismo que -E.
                      functrace
                              Lo mismo que -T.
                      hashall Lo mismo que -h.
                      histexpand
                              Lo mismo que -H.
                      history Habilita la historia de órdenes, según  se  describió  arriba  bajo
                              HISTORIAL.   Esta  opción  está  habilitada  por  omisión en shells
                              interactivos.
                      ignoreeof
                              The effect is as if the shell  command  ``IGNOREEOF=10''  had  been
                              executed (see Shell Variables above).
                      keyword Lo mismo que -k.
                      monitor Lo mismo que -m.
                      noclobber
                              Lo mismo que -C.
                      noexec  Lo mismo que -n.
                      noglob  Lo mismo que -f.
                      nolog   Currently ignored.
                      notify  Lo mismo que -b.
                      nounset Lo mismo que -u.
                      onecmd  Lo mismo que -t.
                      physical
                              Lo mismo que -P.
                      pipefail
                              If  set,  the  return  value of a pipeline is the value of the last
                              (rightmost) command to exit with a non-zero status, or zero if  all
                              commands  in  the  pipeline  exit  successfully.   This  option  is
                              disabled by default.
                      posix   Cambia el comportamiento de bash cuando el  funcionamiento  difiera
                              del  estándar  POSIX  1003.2, de forma que concuerde con éste(posix
                              mode). Consulte  VEASE  TAMBIÉN  más  delante  si  quiere  leer  un
                              documento  donde  se  detalla la influencia del modo posix sobre el
                              funcionamiento de bash.
                      privileged
                              Lo mismo que -p.
                      verbose Lo mismo que -v.
                      vi      Use a vi-style command line editing interface.  This  also  affects
                              the editing interface used for read -e.
                      xtrace  Lo mismo que -x.
                      Si  se  da  -o  sin  ningún  nombre-opción,  se muestran los valores de las
                      opciones activas.  Si se da +o sin ningún nombre-opción, se muestra  en  la
                      salida  estándar  una  serie de órdenes set para recrear las opciones según
                      están puestas o no actualmente.
              -p      Turn on privileged mode.  In this mode, the $ENV and  $BASH_ENV  files  are
                      not  processed, shell functions are not inherited from the environment, and
                      the SHELLOPTS, BASHOPTS, CDPATH, and GLOBIGNORE variables, if  they  appear
                      in  the  environment,  are  ignored.   If  the  shell  is  started with the
                      effective user (group) id not equal to the real user (group) id, and the -p
                      option  is  not supplied, these actions are taken and the effective user id
                      is set to the real user id.  If the -p option is supplied at  startup,  the
                      effective  user  id  is  not  reset.   Turning  this  option off causes the
                      effective user and group ids to be set to the real user and group ids.
              -t      Sale tras leer y ejecutar una sola orden.
              -u      Trata las variables no definidas y los parámetros especiales  distintos  de
                      "@" y "*" como un error cuando se realiza la expansión de parámetros. Si la
                      expansión se intenta hacer sobre una variable no definida, la shell muestra
                      un mensaje de error y, si no es interactivo, sale con un estado distinto de
                      cero.
              -v      Repite en la salida las líneas de entrada de la shell tras leerlas.
              -x      After expanding each simple command,  for  command,  case  command,  select
                      command,  or  arithmetic  for  command,  display the expanded value of PS4,
                      followed by the command and its expanded arguments or associated word list.
              -B      la shell realiza la expansión de llaves (vea Expansión de  llaves  arriba).
                      Esto está activado de forma predeterminada.
              -C      Si  está  activo,  bash  no  sobreescribe  un  fichero  existente  con  los
                      operadores de redirección >, >&, ni <>.  Esto  puede  cambiarse  cuando  se
                      crean ficheros de salida mediante el empleo del operador >| en vez de >.
              -E      Si  está  definida, cualquier trampa en ERR será heredada por las funciones
                      de la shell, las sustituciones de  órdenes  y  las  órdenes  ejecutadas  en
                      subshells. En general, la trampa ERR no se hereda en estos casos.
              -H      Permite  la  sustitución de historia mediante !.  Esta opción está activada
                      por omisión cuando la shell es interactivo.
              -P      If set, the shell does not resolve symbolic links when  executing  commands
                      such as cd that change the current working directory.  It uses the physical
                      directory structure instead.  By default, bash follows the logical chain of
                      directories when performing commands which change the current directory.
              -T      Si  está definida, cualquier trampa en DEBUG O RETURN será heredada por las
                      funciones  de  la  shell,  las  sustituciones  de  órdenes  y  las  órdenes
                      ejecutadas  en  subshells.  En  general,  las  trampas DEBUG y RETURN no se
                      heredan en estos casos.
              --      Si a esta opción no sigue ningún argumento  más,  entonces  los  parámetros
                      posicionales se anulan. Si no, los parámetros posicionales se ponen con los
                      valores dados por los args, incluso si alguno de ellos comienza con un -.
              -       Señala el final de las opciones, haciendo que el resto de args se asignen a
                      los parámetros posicionales. Las opciones -x y -v se desactivan.  Si no hay
                      más args, los parámetros posicionales permanecen sin cambios.

              Las opciones están desactivadas de forma predeterminada a menos que  se  diga  otra
              cosa.  Usar  +  en  vez  de  - hace que estas opciones se desactiven.  Las opciones
              también pueden darse como argumentos al llamar al shell.  El conjunto  de  opciones
              activadas puede examinarse en $-.  El estado de retorno es siempre `verdad' a menos
              que se encuentre una opción inválida.

       shift [n]
              Los parámetros posicionales desde n+1 ... se renombran  a  $1  ...  Los  parámetros
              representados  por  los  números  desde  $#  hasta $#-n+1 se anulan.  n debe ser un
              número no negativo menor o igual a $#.  Si n es 0, no se cambia  ningún  parámetro.
              Si  n  no se da, se supone 1.  Si n es mayor que $#, los parámetros posicionales no
              se cambian.  El estado de retorno es mayor que cero si n es mayor que  $#  o  menor
              que cero; en otro caso es cero.

       shopt [-pqsu] [-o] [nombreopc ...]
              Toggle  the  values  of settings controlling optional shell behavior.  The settings
              can be either those listed below, or, if the -o option  is  used,  those  available
              with  the  -o  option  to the set builtin command.  With no options, or with the -p
              option, a list of all settable options is displayed, with an indication of  whether
              or  not  each  is  set; if optnames are supplied, the output is restricted to those
              options.  The -p option causes output to be displayed in a form that may be  reused
              as input.  Other options have the following meanings:
              -s     Activa (set) cada nombreopc.
              -u     Desactiva (unset) cada nombreopc.
              -q     Suprime la salida normal (modo silencioso); el estado de salida indica si el
                     nombreopc está activado o no.  Si se dan varios argumentos nombreopc con -q,
                     el  estado  de  salida  es  cero  si  todos  los nombreopcs están activados;
                     distinto de cero en otro caso.
              -o     Restringe los valores de nombreopc a aquéllos definidos para la opción -o de
                     la orden interna set.

              If  either  -s  or  -u  is  used  with no optname arguments, shopt shows only those
              options which are set or unset, respectively.  Unless otherwise  noted,  the  shopt
              options are disabled (unset)  by default.

              El  estado  de  retorno  cuando  se listan opciones es cero si todos los nombreopcs
              están activos, distinto de cero en  otro  caso.  Cuando  se  activan  o  desactivan
              opciones, el estado de salida es cero a menos que un nombreopc no sea una opción de
              la shell válida.

              La lista de las opciones de shopt es:

              assoc_expand_once
                      If set, the shell  suppresses  multiple  evaluation  of  associative  array
                      subscripts   during   arithmetic  expression  evaluation,  while  executing
                      builtins  that  can  perform  variable  assignments,  and  while  executing
                      builtins that perform array dereferencing.
              autocd  If set, a command name that is the name of a directory is executed as if it
                      were the argument  to  the  cd  command.   This  option  is  only  used  by
                      interactive shells.
              cdable_vars
                      Si  está  activa,  un  argumento  de  la  orden  interna  cd  que no sea un
                      directorio, se supone el nombre de una variable cuyo valor es el directorio
                      al que hay que cambiarse.
              cdspell Si  está activa, se corregirán pequeños errores que hubiera en la escritura
                      de un componente directorio de una orden cd.  Los errores que se buscan  se
                      refieren  a  caracteres  transpuestos, un carácter que falte, y un carácter
                      que sobre.  Si se encuentra una corrección, se muestra el nombre de fichero
                      corregido  y  la  orden  procede.   Esta  opción  solo  se emplea en shells
                      interactivos.
              checkhash
                      Si está activa, bash comprueba que una orden  encontrada  en  la  tabla  de
                      dispersión existe antes de intentar ejecutarlo. Si una orden en la tabla de
                      dispersión ya no existe, se realiza una búsqueda normal en el PATH.
              checkjobs
                      If set, bash lists the status  of  any  stopped  and  running  jobs  before
                      exiting  an  interactive  shell.   If any jobs are running, this causes the
                      exit to be deferred until a second exit is attempted without an intervening
                      command (see JOB CONTROL above).  The shell always postpones exiting if any
                      jobs are stopped.
              checkwinsize
                      If set, bash checks the  window  size  after  each  external  (non-builtin)
                      command  and,  if necessary, updates the values of LINES and COLUMNS.  This
                      option is enabled by default.
              cmdhist Si está activa, bash intenta guardar todas  las  líneas  de  una  orden  de
                      varias  líneas  en  la  misma  entrada del historial. Esto permite reeditar
                      fácilmente múltiples órdenes. Esta opción está activada por  defecto,  pero
                      solo  surte  efecto  si  está activado el historial tal como se describe en
                      HISTORIAL.
              compat31
              compat32
              compat40
              compat41
              compat42
              compat43
              compat44
                      Controla ciertos ascpetos delmodo de compatibilidad de la  shell.  Consulte
                      MODO DE COMPATIBILIDAD DE LA SHELL más adelante.

              complete_fullquote
                      If  set,  bash  quotes  all shell metacharacters in filenames and directory
                      names when performing completion.  If not set, bash removes  metacharacters
                      such  as  the dollar sign from the set of characters that will be quoted in
                      completed filenames when these  metacharacters  appear  in  shell  variable
                      references  in  words  to  be  completed.   This means that dollar signs in
                      variable names that expand to directories will not be quoted; however,  any
                      dollar  signs  appearing  in filenames will not be quoted, either.  This is
                      active only when bash is using backslashes to  quote  completed  filenames.
                      This  variable  is  set  by  default, which is the default bash behavior in
                      versions through 4.2.

              direxpand
                      If set, bash replaces directory names with the results  of  word  expansion
                      when  performing  filename  completion.   This  changes the contents of the
                      readline editing buffer.  If not set, bash attempts to  preserve  what  the
                      user typed.

              dirspell
                      If  set,  bash  attempts spelling correction on directory names during word
                      completion if the directory name initially supplied does not exist.

              dotglob Si está activa, bash incluye los nombres de archivos que comiencen  con  un
                      `.'  en  los  resultados de la expansión de nombres de ruta. Los nombres de
                      archivo “.” y “..” siempre deben concordarse  expresamente  aunque  dotglob
                      esté activa.

              execfail
                      Si está activa, una shell no interactiva no acabará si no puede ejecutar el
                      fichero especificado como un argumento de la orden interna exec.  Una shell
                      interactiva no finaliza si exec falla.

              expand_aliases
                      Si  está activa, los alias se expanden como se describió arriba bajo ALIAS.
                      Esta  opción  está  habilitada  de   forma   predeterminada   para   shells
                      interactivos.

              extdebug
                      If  set at shell invocation, or in a shell startup file, arrange to execute
                      the debugger profile before the shell starts, identical to  the  --debugger
                      option.  If set after invocation, behavior intended for use by debuggers is
                      enabled:

                      1.     The -F option to the declare builtin displays the source  file  name
                             and  line  number corresponding to each function name supplied as an
                             argument.

                      2.     If the command run by the DEBUG trap returns a non-zero  value,  the
                             next command is skipped and not executed.

                      3.     If  the  command run by the DEBUG trap returns a value of 2, and the
                             shell is executing in a subroutine (a  shell  function  or  a  shell
                             script  executed by the . or source builtins), the shell simulates a
                             call to return.

                      4.     BASH_ARGC  and  BASH_ARGV  are  updated  as   described   in   their
                             descriptions above.

                      5.     Function  tracing is enabled: command substitution, shell functions,
                             and subshells invoked with ( command ) inherit the DEBUG and  RETURN
                             traps.

                      6.     Error tracing is enabled: command substitution, shell functions, and
                             subshells invoked with ( command ) inherit the ERR trap.

              extglob Si está  activa,  se  habilitan  las  características  de  concordancia  de
                      patrones extendidas descritas más arriba en Expansión de nombres de ruta.

              extquote
                      If  set,  $'string'  and $"string" quoting is performed within ${parameter}
                      expansions enclosed in double quotes.  This option is enabled by default.

              failglob
                      If set, patterns which fail to match filenames  during  pathname  expansion
                      result in an expansion error.

              force_fignore
                      If set, the suffixes specified by the FIGNORE shell variable cause words to
                      be ignored when performing word completion even if the  ignored  words  are
                      the only possible completions.  See SHELL VARIABLES above for a description
                      of FIGNORE.  This option is enabled by default.

              globasciiranges
                      If set, range expressions used in pattern matching bracket expressions (see
                      Pattern  Matching  above)  behave  as  if  in the traditional C locale when
                      performing comparisons.  That is, the current locale's  collating  sequence
                      is  not  taken  into  account,  so  b will not collate between A and B, and
                      upper-case and lower-case ASCII characters will collate together.

              globstar
                      If set, the pattern ** used in a pathname expansion context will match  all
                      files  and  zero or more directories and subdirectories.  If the pattern is
                      followed by a /, only directories and subdirectories match.

              gnu_errfmt
                      If set, shell error messages are written in the standard GNU error  message
                      format.

              histappend
                      Si  está activo el historial se añade al archivo nombrado según el valor de
                      la variable HISTFILE cuando la shell acaba,  en  vez  de  sobreescribir  el
                      archivo.

              histreedit
                      Si  está  activa,  y  readline  se  está utilizando, se le da al usuario la
                      oportunidad de re-editar la sustitución de historia fallida.

              histverify
                      Si está activa, y  readline  se  está  utilizando,  los  resultados  de  la
                      sustitución  de  historia  no  se  pasan inmediatamente al analizador de la
                      shell. En vez de eso, la línea resultante se carga en el búfer  de  edición
                      de readline, permitiendo así una modificación posterior.

              hostcomplete
                      Si  está  activa, y readline se está utilizando, bash intentará terminar de
                      escribir un nombre de computador anfitrión cuando se esté  completando  una
                      palabra  que  contenga  una @ (vea Terminación bajo READLINE arriba).  Esto
                      está activado de forma predeterminada.

              huponexit
                      Si está activa, bash enviará una señal SIGHUP a todos los  trabajos  cuando
                      una shell de entrada interactiva finalice.

              inherit_errexit
                      If  set,  command  substitution  inherits  the value of the errexit option,
                      instead of unsetting it  in  the  subshell  environment.   This  option  is
                      enabled when posix mode is enabled.

              interactive_comments
                      Si  está  activa,  permite  a  una  palabra que empiece por # hacer que esa
                      palabra y todos los caracteres restantes de esa línea no  sean  tenidos  en
                      cuenta  en una shell interactiva (vea COMENTARIOS arriba). Esta opción está
                      habilitada por omisión.

              lastpipe
                      If set, and job control is not active, the shell runs the last command of a
                      pipeline not executed in the background in the current shell environment.

              lithist Si  está  activa,  y  la  opción  cmdhist  también  lo  está,  las  órdenes
                      multi-línea se guardan en la historia con saltos de línea empotrados en vez
                      de emplear como separador el punto y coma, donde sea posible.

              localvar_inherit
                      If  set,  local variables inherit the value and attributes of a variable of
                      the same name that exists at a previous  scope  before  any  new  value  is
                      assigned.  The nameref attribute is not inherited.

              localvar_unset
                      If  set, calling unset on local variables in previous function scopes marks
                      them so subsequent lookups find them unset  until  that  function  returns.
                      This  is  identical  to  the  behavior  of unsetting local variables at the
                      current function scope.

              login_shell
                      La shell define esta opción si se ha iniciado como una  shell  de  entrada.
                      Consulte LLAMADA más adelante.

              mailwarn
                      Si  está activa, y a un fichero donde bash está buscando correo nuevo se ha
                      accedido desde la última vez que se buscó, se muestra el mensaje “The  mail
                      in  mailfile  has  been  read”, o su equivalente en el idioma local, que en
                      español sería “El correo en buzón ha sido leído”.

              no_empty_cmd_completion
                      Si está activa, y readline se está utilizando, bash no intentará buscar  en
                      PATH  posibles  cadenas  para  completar si se intenta autocompletar en una
                      línea en blanco.

              nocaseglob
                      Si está activa,  bash  busca  concordancias  de  nombres  de  ficheros  sin
                      importar  mayúsculas o minúsculas cuando realice la expansión de nombres de
                      ruta (vea Expansión de nombres de ruta arriba).

              nocasematch
                      Si  está  definida,  bash  buscará  concordancias  sin   distinción   entre
                      mayúsculas  y minúsculas ya sea ejecutando las órdenes condicionales case o
                      [[, expansiones de palabra en patrones de sustitución o durante el filtrado
                      de posibles cadenas en autocompletados programables.

              nullglob
                      Si  está activa, bash permite que los patrones que no concuerden con ningún
                      fichero (vea Expansión de nombres de ruta arriba)  se expandan a una cadena
                      vacía, en vez de a sí mismos.

              progcomp
                      Si  está definida, se activan las utilidades de autocompletado programables
                      (consultes Autocompletado  Programable  anteriormente).  Esta  opción  está
                      activa por defecto.

              progcomp_alias
                      If  set, and programmable completion is enabled, bash treats a command name
                      that doesn't have any completions as a possible alias  and  attempts  alias
                      expansion.  If it has an alias, bash attempts programmable completion using
                      the command word resulting from the expanded alias.

              promptvars
                      If set, prompt strings undergo parameter expansion,  command  substitution,
                      arithmetic  expansion,  and quote removal after being expanded as described
                      in PROMPTING above.  This option is enabled by default.

              restricted_shell
                      The shell sets this option  if  it  is  started  in  restricted  mode  (see
                      RESTRICTED  SHELL below).  The value may not be changed.  This is not reset
                      when the startup files are executed, allowing the startup files to discover
                      whether or not a shell is restricted.

              shift_verbose
                      Si  está  activa, la orden interna shift muestra un mensaje de error cuando
                      el número de shift excede al de parámetros posicionales.

              sourcepath
                      Si está activa, la orden interna source (.) emplea el valor  de  PATH  para
                      buscar  el  directorio que contenga al fichero suministrado como argumento.
                      Esta opción está activa por omisión.

              xpg_echo
                      If set, the echo builtin expands backslash-escape sequences by default.

       suspend [-f]
              Suspend the execution of this shell until it receives a SIGCONT  signal.   A  login
              shell cannot be suspended; the -f option can be used to override this and force the
              suspension.  The return status is 0 unless the shell is a login shell and -f is not
              supplied, or if job control is not enabled.

       test expr
       [ expr ]
              Return  a  status  of  0  (true)  or  1  (false) depending on the evaluation of the
              conditional expression  expr.   Each  operator  and  operand  must  be  a  separate
              argument.   Expressions  are  composed  of  the  primaries  described  above  under
              CONDITIONAL EXPRESSIONS.  test does not accept any options, nor does it accept  and
              ignore an argument of -- as signifying the end of options.

              Expressions  may  be  combined  using the following operators, listed in decreasing
              order of precedence.  The evaluation depends on the number of arguments; see below.
              Operator precedence is used when there are five or more arguments.
              ! expr Verdad si expr es falsa.
              ( expr )
                     Devuelve el valor de expr.  Esto puede emplearse para cambiar la precedencia
                     normal de los operadores.
              expr1 -a expr2
                     Verdad si tanto expr1 como expr2 son verdad.
              expr1 -o expr2
                     Verdad si uno al menos de expr1 o expr2 es verdad.

              test y [ evalúan expresiones condicionales según un conjunto de reglas  basadas  en
              el número de argumentos.

              0 argumentos
                     La expresión es falsa.
              1 argumento
                     La expresión es verdad si y solo si el argumento no está vacío.
              2 argumentos
                     Si  el primer argumento es !, la expresión es verdad si y solo si el segundo
                     argumento es nulo.   Si  el  primer  argumento  es  uno  de  los  operadores
                     condicionales  monarios  listados  arriba  en  EXPRESIONES CONDICIONALES, la
                     expresión es verdad si el test monario es verdad.  Si el primer argumento no
                     es un operador condicional monario válido, la expresión es falsa.
              3 argumentos
                     The  following  conditions  are  applied in the order listed.  If the second
                     argument is one of the  binary  conditional  operators  listed  above  under
                     CONDITIONAL  EXPRESSIONS,  the result of the expression is the result of the
                     binary test using the first and third arguments as operands.  The -a and  -o
                     operators  are  considered  binary operators when there are three arguments.
                     If the first argument is !, the value is the negation  of  the  two-argument
                     test using the second and third arguments.  If the first argument is exactly
                     ( and the third argument is exactly ), the result is the  one-argument  test
                     of the second argument.  Otherwise, the expression is false.
              4 argumentos
                     Si  el primer argumento es !, el resultado es la negación de la expresión de
                     tres argumentos compuesta por los argumentos restantes.  De otra  forma,  la
                     expresión  se  analiza y evalúa de acuerdo con la precedencia utilizando las
                     reglas listadas arriba.
              5 ó más argumentos
                     La expresión se analiza y evalúa de acuerdo con la  precedencia  usando  las
                     reglas mencionadas arriba.

              When  used with test or [, the < and > operators sort lexicographically using ASCII
              ordering.

       times  Muestra los tiempos acumulados de usuario y sistema para la shell y  para  procesos
              ejecutados desde él. El estado de retorno es 0.

       trap [-lp] [[arg] nombre-señal ...]
              The  command  arg  is  to  be  read  and executed when the shell receives signal(s)
              sigspec.  If arg is absent (and there is a single sigspec)  or  -,  each  specified
              signal  is reset to its original disposition (the value it had upon entrance to the
              shell).  If arg is the null string the signal specified by each sigspec is  ignored
              by the shell and by the commands it invokes.  If arg is not present and -p has been
              supplied, then the trap commands associated with each sigspec are displayed.  If no
              arguments  are  supplied  or  if only -p is given, trap prints the list of commands
              associated with each signal.  The -l option causes the shell to  print  a  list  of
              signal names and their corresponding numbers.  Each sigspec is either a signal name
              defined in <signal.h>, or a signal number.  Signal names are case  insensitive  and
              the SIG prefix is optional.

              If  a sigspec is EXIT (0) the command arg is executed on exit from the shell.  If a
              sigspec is DEBUG, the command arg is executed  before  every  simple  command,  for
              command, case command, select command, every arithmetic for command, and before the
              first command executes in a shell function (see SHELL GRAMMAR above).  Refer to the
              description  of  the extdebug option to the shopt builtin for details of its effect
              on the DEBUG trap.  If a sigspec is RETURN, the command arg is executed each time a
              shell  function  or  a  script  executed  with  the  .  or source builtins finishes
              executing.

              If a sigspec is ERR, the command arg is executed whenever  a  pipeline  (which  may
              consist  of  a  single  simple  command),  a  list, or a compound command returns a
              non-zero exit status, subject to the following conditions.  The  ERR  trap  is  not
              executed  if the failed command is part of the command list immediately following a
              while or until keyword, part of the test in an if  statement,  part  of  a  command
              executed  in  a  && or || list except the command following the final && or ||, any
              command in a pipeline but the last, or if  the  command's  return  value  is  being
              inverted using !.  These are the same conditions obeyed by the errexit (-e) option.

              Signals  ignored  upon  entry  to  the  shell  cannot be trapped or reset.  Trapped
              signals that are not being ignored are reset to their original values in a subshell
              or  subshell  environment  when  one is created.  The return status is false if any
              sigspec is invalid; otherwise trap returns true.

       type [-aftpP] nombre [nombre ...]
              Sin opciones, indica cómo será interpretado cada nombre si se usa como un nombre de
              orden.   Si  se  emplea la opción -t, type muestra una de las siguientes cadenas de
              caracteres: alias, keyword, function, builtin, o file si nombre es  respectivamente
              un  alias,  una  palabra  reservada  de  la  shell,  una función, una orden interna
              incorporada en la shell, o un archivo ejecutable de disco.   Si  el  nombre  no  se
              encuentra, no se muestra nada, y se devuelve un estado de salida de `falso'.  Si se
              emplea la opción -p, type devuelve o bien el nombre del archivo  de  disco  que  se
              ejecutaría si se especificara nombre como un nombre de orden, o bien nada si ``type
              -t name'' No devolvería archivo. La opción -P obliga a RUTA a  buscar  cada  nombre
              aunque  ``type  -t name'' would not return file.  If a command is hashed, -p and -P
              print the hashed value, which is not necessarily the file  that  appears  first  in
              PATH.   If  the  -a  option  is used, type prints all of the places that contain an
              executable named name.  This includes aliases and functions, if and only if the  -p
              option  is not also used.  The table of hashed commands is not consulted when using
              -a.  The -f option suppresses shell function lookup, as with the  command  builtin.
              type returns true if all of the arguments are found, false if any are not found.

       ulimit [-HS] -a
       ulimit [-HS] [-bcdefiklmnpqrstuvxPRT [límite]]
              Provides control over the resources available to the shell and to processes started
              by it, on systems that allow such control.  The -H and -S options specify that  the
              hard or soft limit is set for the given resource.  A hard limit cannot be increased
              by a non-root user once it is set; a soft limit may be increased up to the value of
              the  hard  limit.  If neither -H nor -S is specified, both the soft and hard limits
              are set.  The value of limit can be a number in the unit specified for the resource
              or  one of the special values hard, soft, or unlimited, which stand for the current
              hard limit, the current soft limit,  and  no  limit,  respectively.   If  limit  is
              omitted, the current value of the soft limit of the resource is printed, unless the
              -H option is given.  When more than one resource is specified, the limit  name  and
              unit,  if appropriate, are printed before the value.  Other options are interpreted
              as follows:
              -a     Se informa de todos los límites actuales; no se configura ninguno
              -b     El tamaño máximo de buffer del conector
              -c     El tamaño máximo de archivo de volcados de memoria (core)
              -d     El tamaño máximo del segmento de datos de un proceso
              -e     La máxima prioridad de ejecución ("nice")
              -f     El tamaño máximo de los archivos creados por la shell y sus descendientes
              -i     El número máximo de señales pendientes
              -k     El número máxima de kqueues que se pueden acomodar
              -l     El tamaño máximo que puede ser bloqueado en memoria
              -m     El tamaño máximo de memoria residente (la mayoría de sistemas  no  tiene  en
                     cuenta este valor)
              -n     EL  número  máximo  de  descriptores  de  archivos  abiertos  (la mayoría de
                     sistemas no permiten establecer este valor)
              -p     El tamaño de  una  tubería  en  bloques  de  512  B  (esto  puede  no  estar
                     establecido)
              -q     El número máximo de bytes en la cola de mensajes POSIX
              -r     La máxima prioridad de ejeución en tiempo real.
              -s     El tamaño máximo de pila
              -t     La máxima cantidad de tiempo de CPU en segundos
              -u     El número máximo de procesos disponibles para un solo usuario
              -v     La máxima cantidad de memoria virtual disponible para la shell y, en algunos
                     sistemas, para sus descendientes.
              -x     La cantidad máxima de bloqueos de archivo
              -P     The maximum number of pseudoterminals
              -R     El tiempo máximo, en microsegundos,  que  puede  ejecutarse  un  proceso  en
                     tiempo real antes de bloquearse.
              -T     La cantidad máxima de hilos

              If  limit  is  given,  and the -a option is not used, limit is the new value of the
              specified resource.  If no option is given, then -f  is  assumed.   Values  are  in
              1024-byte  increments,  except  for  -t,  which  is  in  seconds;  -R,  which is in
              microseconds; -p, which is in units of 512-byte blocks; -P, -T, -b, -k, -n, and -u,
              which  are  unscaled  values;  and,  when  in  posix  mode, -c and -f, which are in
              512-byte increments.  The return status is 0 unless an invalid option  or  argument
              is supplied, or an error occurs while setting a new limit.

       umask [-p] [-S] [modo]
              La  máscara  de  creación  de  ficheros  del  usuario se establece a modo.  Si modo
              empieza con un dígito, se interpreta como un número octal;  si  no,  se  interpreta
              como  un  modo  simbólico  similar  al aceptado por chmod(1).  Si modo se omite, se
              muestra el valor actual de la máscara.  La opción -S hace que la máscara se imprima
              en  forma simbólica; la salida predeterminada es como un número octal.  Si se da la
              opción -p y modo se omite, la salida es de tal forma que  puede  reutilizarse  como
              entrada. El estado de retorno es 0 si el modo se cambió exitosamente o si no se dio
              el argumento modo, y `falso' en otra circunstancia.

       unalias [-a] [nombre ...]
              Quita cada nombre de la lista de alias definidos. Si se da la opción -a, se  quitan
              todas  las  definiciones  de  alias. El estado de salida es `verdad' a menos que un
              nombre dado no sea un alias definido.

       unset [-fv] [-n] [nombre ...]
              For each name, remove the corresponding variable or function.  If the -v option  is
              given,  each  name  refers  to  a  shell  variable,  and  that variable is removed.
              Read-only variables may not be unset.  If -f is specified, each name  refers  to  a
              shell  function,  and  the  function  definition  is  removed.  If the -n option is
              supplied, and name is a variable with the nameref attribute,  name  will  be  unset
              rather  than  the  variable  it  references.   -n has no effect if the -f option is
              supplied.  If no options are supplied, each name refers to a variable; if there  is
              no  variable by that name, a function with that name, if any, is unset.  Each unset
              variable or function is removed from the environment passed to subsequent commands.
              If   any  of  BASH_ALIASES,  BASH_ARGV0,  BASH_CMDS,  BASH_COMMAND,  BASH_SUBSHELL,
              BASHPID, COMP_WORDBREAKS, DIRSTACK, EPOCHREALTIME, EPOCHSECONDS, FUNCNAME,  GROUPS,
              HISTCMD,  LINENO,  RANDOM,  SECONDS,  or SRANDOM are unset, they lose their special
              properties, even if they are subsequently reset.  The exit status is true unless  a
              name is readonly.

       wait [-fn] [-p nombrevariable] [id ...]
              Wait  for  each specified child process and return its termination status.  Each id
              may be a process ID or a job specification; if a job spec is given,  all  processes
              in  that  job's  pipeline  are  waited for.  If id is not given, wait waits for all
              running background jobs and the last-executed process substitution, if its  process
              id is the same as $!, and the return status is zero.  If the -n option is supplied,
              wait waits for a single job from the list of ids or, if no ids  are  supplied,  any
              job, to complete and returns its exit status.  If none of the supplied arguments is
              a child of the shell, or if  no  arguments  are  supplied  and  the  shell  has  no
              unwaited-for  children,  the exit status is 127.  If the -p option is supplied, the
              process or job identifier of the job for which  the  exit  status  is  returned  is
              assigned  to  the variable varname named by the option argument.  The variable will
              be unset initially, before any assignment.  This is useful only when the -n  option
              is  supplied.  Supplying the -f option, when job control is enabled, forces wait to
              wait for id to terminate before returning its status, instead of returning when  it
              changes  status.   If id specifies a non-existent process or job, the return status
              is 127.  Otherwise, the return status is the exit status of the last process or job
              waited for.

MODO DE COMPATIBILIDAD DE LA SHELL

       En  Bash-4.0  se  introdujo  el concepto de 'nivel de compatibilidad de la shell' definido
       como una serie de opciones  de  la  orden  nativa  shopt  (compat31,  compat32,  compat40,
       compat41 y así sucesivamente). Estas opciones son mutuamente excluyentes ya que sólo puede
       haber un nivel de compatibilidad a la vez. Este nivel  de  compatibilidad  permite  a  los
       usuarios  seleccionar  la  forma de actuar de alguna versión anterior -incompatible con la
       actual- mientras adapta los scripts para que puedan ejecutarse en la versión actual.  Sólo
       pretende ser una solución temporal.

       En  esta  sección  no  se  mencionan  funciones estándares en una determinada versión. Por
       ejemplo: al indicar compat32 provocará que al entrecomillar el rhs  del  operador  de  una
       expresión  regular  también  entrecomilla caracteres especiales de expresión regular en la
       palabra, siendo éste el comportamiento por defecto de las versiones 3.2 y superiores.

       If a user enables, say, compat32, it may affect the behavior of other compatibility levels
       up  to and including the current compatibility level.  The idea is that each compatibility
       level controls behavior that changed in that version of bash, but that behavior  may  have
       been  present  in  earlier  versions.   For  instance,  the  change  to  use  locale-based
       comparisons with the [[ command came in bash-4.1, and earlier  versions  used  ASCII-based
       comparisons,  so  enabling  compat32  will  enable  ASCII-based comparisons as well.  That
       granularity may not be sufficient for all uses,  and  as  a  result  users  should  employ
       compatibility  levels  carefully.  Read the documentation for a particular feature to find
       out the current behavior.

       Bash-4.3 introduced a new  shell  variable:  BASH_COMPAT.   The  value  assigned  to  this
       variable  (a  decimal version number like 4.2, or an integer corresponding to the compatNN
       option, like 42) determines the compatibility level.

       A  partir  de  la  versión  4.4,  Bash  comenzó  a  extinguir  los  antiguos  niveles   de
       compatibilidad. En algún momento, se eliminarán empleándose BASH_COMPAT en su lugar.

       Bash-5.0  is  the final version for which there will be an individual shopt option for the
       previous version. Users should use BASH_COMPAT on bash-5.0 and later versions.

       The following table describes the behavior changes controlled by each compatibility  level
       setting.   The compatNN tag is used as shorthand for setting the compatibility level to NN
       using one of the following mechanisms.  For versions prior to bash-5.0, the  compatibility
       level  may  be  set using the corresponding compatNN shopt option.  For bash-4.3 and later
       versions, the BASH_COMPAT variable is preferred, and it is required for bash-5.1 and later
       versions.

       compat31
              •      quoting  the  rhs  of the [[ command's regexp matching operator (=~)  has no
                     special effect

       compat32
              •      interrupting a command list such as "a ; b ; c" causes the execution of  the
                     next  command in the list (in bash-4.0 and later versions, the shell acts as
                     if it received the interrupt, so interrupting one command in a  list  aborts
                     the execution of the entire list)

       compat40
              •      the  <  and > operators to the [[ command do not consider the current locale
                     when comparing strings; they use ASCII ordering.   Bash  versions  prior  to
                     bash-4.1  use  ASCII  collation  and  strcmp(3);  bash-4.1 and later use the
                     current locale's collation sequence and strcoll(3).

       compat41
              •      in posix mode, time may be followed by options and still be recognized as  a
                     reserved word (this is POSIX interpretation 267)
              •      in  posix  mode,  the  parser  requires that an even number of single quotes
                     occur in the word portion of a double-quoted parameter expansion and  treats
                     them  specially,  so that characters within the single quotes are considered
                     quoted (this is POSIX interpretation 221)

       compat42
              •      the replacement  string  in  double-quoted  pattern  substitution  does  not
                     undergo quote removal, as it does in versions after bash-4.2
              •      in  posix mode, single quotes are considered special when expanding the word
                     portion of a double-quoted parameter expansion and can be used  to  quote  a
                     closing   brace   or   other  special  character  (this  is  part  of  POSIX
                     interpretation 221); in later versions, single quotes are not special within
                     double-quoted word expansions

       compat43
              •      no  emite  un  mensaje  de  advertencia  si  se  intenta  emplear  un  grupo
                     entrecomillado como argumento de 'declare' (declare  -a  foo='(1  2)').  Las
                     versiones posteriores emiten dicho mensaje advirtiendo que está en desuso.
              •      los errores en la expansión de palabras no se consideran fatales para que la
                     orden no se ejecute incluso en modo posix (por defecto, se  emite  un  error
                     fatal haciendo que la shell pare su ejecución).
              •      when  executing  a shell function, the loop state (while/until/etc.)  is not
                     reset, so break or continue in that function will break or continue loops in
                     the calling context. Bash-4.4 and later reset the loop state to prevent this

       compat44
              •      la  shell  define  los  valores  de  BASH_ARGV  y  BASH_ARGC para que puedan
                     expandirse en los parámetros posicionales aunque  no  esté  activo  el  modo
                     ampliado de depuración.
              •      una  subshell  hereda  los  bucles del contexto de su antecesor, así break o
                     continue hacen terminar su ejecución. En la versión 5.0  y  posteriores,  se
                     reinicia el estado del bucle para evitarlo.
              •      las  asignaciones  de  variables que precenden órdenes nativas como export y
                     readonly que definen atributos siguen influyendo en  las  variables  con  el
                     mismo  nombre  en  el entorno en que se invocaron aunque la shell no esté en
                     modo posix.

       compat50
              •      Bash-5.1 changed the way $RANDOM is generated  to  introduce  slightly  more
                     randomness.  If  the  shell  compatibility  level  is set to 50 or lower, it
                     reverts to the method from bash-5.0 and previous versions,  so  seeding  the
                     random number generator by assigning a value to RANDOM will produce the same
                     sequence as in bash-5.0
              •      If the command hash table is empty, bash versions prior to bash-5.1  printed
                     an informational message to that effect, even when producing output that can
                     be reused as input. Bash-5.1 suppresses that message when the -l  option  is
                     supplied.

SHELL RESTRINGIDA

       Si  bash  se  arranca con el nombre rbash, o se da la opción -r en la llamada, la shell se
       convierte en restringido.  Una shell restringida se emplea para establecer un ambiente más
       controlado que el que la shell estándar proporciona.  Se comporta de forma idéntica a bash
       con la excepción de que lo siguiente no está permitido o no se realiza:

       •      cambiar de directorio con cd

       •      define o elimina los valores de SHELL, PATH, HISTFILE, ENV, o BASH_ENV

       •      especificar nombres de órdenes que contengan /

       •      especificar un nombre de fichero que contenga al menos una / como un  argumento  de
              la orden interna . (source)

       •      especificar  un nombre de fichero que contenga al menos una barra como argumento de
              la orden interna history

       •      especificar un nombre de archivo que contenga al menos una barra como argumento  de
              la orden interna hash

       •      importar definiciones de funciones desde el entorno de la shell en el arranque

       •      analizar el valor de SHELLOPTS desde el entorno de la shell en el arranque

       •      redirigir la salida usando los operadores de redirección >, >|, <>, >&, &>, y >>

       •      utiliza la orden nativa exec para reemplazar la shell por otro programa

       •      añadir o eliminar órdenes incorporadas con las opciones -f o -d de la orden interna
              enable.

       •      utilizar la orden  interna  enable  para  activar  órdenes  internas  de  la  shell
              inactivas.

       •      dar la opción -p a la orden interna command.

       •      desactivar el modo restringido con set +r o set +o restricted.

       Estas  restricciones  entran  en vigor después de que se lean los ficheros de arranque que
       hubiera.

       When a command that is found to be a shell  script  is  executed  (see  COMMAND  EXECUTION
       above),  rbash  desactiva  todas  las  restricciones  en la shell lanzado para ejecutar el
       guión.

VÉASE TAMBIÉN

       Bash Reference Manual, Brian Fox y Chet Ramey
       The Gnu Readline Library (La Biblioteca Readline de GNU), Brian Fox & Chet Ramey
       The Gnu History Library (La Biblioteca de Historia de GNU), Brian Fox & Chet Ramey
       Portable Operating System Interface (POSIX) Part 2: Shell  and  Utilities  (Interfaz  para
       Sistemas Operativos Transportables (POSIX) Parte 2: Shell y Utilidades), IEEE --
              http://pubs.opengroup.org/onlinepubs/9699919799/
       http://tiswww.case.edu/~chet/bash/POSIX -- descripción del modo posix
       sh(1), ksh(1), csh(1)
       emacs(1), vi(1)
       readline(3)

ARCHIVOS

       /bin/bash
              La imagen ejecutable de bash
       /etc/profile
              El archivo de inicio general, leído en shells de inicio
       /etc/bash.bashrc
              Archivo global de inicio para shells interactivos
       /etc/bash.bash.logout
              El archivo global que se ejecuta cuando se sale de la shell
       ~/.bash_profile
              El fichero de inicio personal, leído en shells de inicio
       ~/.bashrc
              El archivo individual de inicio para shells interactivos
       ~/.bash_logout
              El archivo de limpieza de inicio personal, ejecutado cada vez que termina una shell
              de inicio
       ~/.inputrc
              El archivo de inicio individual de readline

AUTORES

       Brian Fox, Free Software Foundation
       bfox@gnu.org

       Chet Ramey, Case Western Reserve University
       chet.ramey@case.edu

INFORMES DE FALLOS

       Si Ud. encuentra un fallo  en  bash,  debería  informar  de  ello.  Pero  primero  debería
       asegurarse  de  que  realmente es un fallo, y de que aparece en la versión más reciente de
       bash. Dicha versión siempre está disponible en ftp://ftp.gnu.org/pub/gnu/bash/.

       Una vez que Ud. ha determinado que realmente existe un fallo,  utilice  la  orden  bashbug
       para  enviar  el  informe  correspondiente.   Si Ud. ha encontrado cómo corregirlo, ¡se le
       anima a que nos mande también la corrección! Las sugerencias  y  los  informes  de  fallos
       `filosóficos'  se  pueden  enviar  por  correo  electrónico a bug-bash@gnu.org o se pueden
       publicar en el grupo de discusiones de Usenet gnu.bash.bug.

       TODOS los informes de fallos deben incluir:

       El número de versión de bash
       El tipo de equipo (hardware) y el sistema operativo
       El compilador que se empleó para compilarlo
       Una descripción del comportamiento del fallo
       Un breve script o 'receta' para reproducir el fallo

       bashbug inserta automáticamente los tres primeros puntos en la plantilla  que  proporciona
       para escribir el informe del fallo.

       Los  comentarios  e  informes  de  fallos  que  conciernan  a  esta página de manual deben
       dirigirse a chet.ramey@case.edu.

ERRORES

       Es demasiado grande y demasiado lento.

       Hay algunas sutiles diferencias entre bash y versiones tradicionales del shell  de  Bourne
       sh, mayormente debidas a la especificación POSIX.

       Los alias son confusos en algunos casos.

       Las órdenes nativas de la shell y las funciones no son interrumpibles/reiniciables.

       Las  órdenes  compuestas y las secuencias de órdenes de la forma `a ; b ; c' no se manejan
       de forma muy elegante cuando se  intenta  suspender  el  proceso.  Cuando  se  detiene  un
       proceso,  la  shell  ejecuta  inmediatamente  la  siguiente  orden  de la secuencia.  Para
       remediar esto es suficiente poner  la  secuencia  de  órdenes  entre  paréntesis;  así  la
       forzamos a ejecutarse en una subshell, que puede detenerse como una unidad.

       Las variables de tipo vector no pueden (de momento) exportarse.

       Solo puede haber un coproceso activo a la vez.

TRADUCCIÓN

       La  traducción  al  español  de  esta  página del manual fue creada por Gerardo Aburruzaga
       García <gerardo.aburruzaga@uca.es> y Marcos Fouces <marcos@debian.org>

       Esta traducción es documentación libre; lea  la  GNU  General  Public  License  Version  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  o posterior con respecto a las condiciones de
       copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si encuentra algún error en la traducción de esta  página  del  manual,  envíe  un  correo
       electrónico a ⟨debian-l10n-spanish@lists.debian.org⟩.