Error de 'variable independiente' de Bash cuando se hace referencia a variables en un comentario de varias líneas (set -u)

Error de 'variable independiente' de Bash cuando se hace referencia a variables en un comentario de varias líneas (set -u)

Tengo un comportamiento inesperado: el siguiente fragmento falla con el error de "variable independiente":

#!/bin/bash
set -u
<<EOF
a=a
b=$a
EOF

Probado en:
GNU bash, versión 4.4.12(1)-lanzamiento
GNU bash, versión 4.2.46(2)-lanzamiento

Respuesta1

Lo que ha definido set -ues forzar una salida con un mensaje de error, si intenta utilizar una variable indefinida (El setcomando incorporado).

La forma de here-documents <<con EOFes equivalente a poner entre comillas dobles las palabras internas para permitir que el shell expanda las variables (expansión de parámetros) ( bashen este caso, también sujeto a sustitución de comandos y expansión aritmética). Para evitar que se produzca la expansión, cite la cadena aquí con una comilla simple

set -u
<<'EOF'
a=a
b=$a
EOF

información relacionada