Bash Sangrando aquí documentos


Ejemplo

Puede sangrar el texto dentro de los documentos aquí con pestañas, necesita usar el operador de redirección <<- lugar de << :

$ cat <<- EOF
    This is some content indented with tabs `\t`.
    You cannot indent with spaces you __have__ to use tabs.
    Bash will remove empty space before these lines.
    __Note__: Be sure to replace spaces with tabs when copying this example.
EOF

This is some content indented with tabs _\t_.
You cannot indent with spaces you __have__ to use tabs.
Bash will remove empty space before these lines.
__Note__: Be sure to replace spaces with tabs when copying this example.

Un caso de uso práctico de esto (como se menciona en man bash ) está en los scripts de shell, por ejemplo:

if cond; then
    cat <<- EOF
    hello
    there
    EOF
fi

Es habitual sangrar las líneas dentro de los bloques de código como en esta declaración if , para una mejor legibilidad. Sin la sintaxis de operador <<- , nos veríamos obligados a escribir el código anterior de esta manera:

if cond; then
    cat << EOF
hello
there
EOF
fi

Eso es muy desagradable de leer y empeora mucho en un guión realista más complejo.