Al momento de trabajar con script o programar en algunos lenguajes, un método que nos facilita la creación de script es Here-document (Heredoc o Documento-aquí en español), Que son Heredoc? son una modo de redireccionamiento que utilizamos para pasar string " una cantidad de caracteres" a un documento o un script que estemos creando. En otras palabras un here document es un bloque de código de propósito especial, que utiliza una forma de redirección de E / S para alimentar una lista de comandos a un programa o comando interactivo, como cat, ftp, php, o el editor de texto ex.
En este articulo mostrare algunos ejemplos, empleando heredoc con el comando cat, con el fin de presentarles la sintaxis usada en bash cat <<EOF. El comando cat (por concatenar) es un programa de Unix usado para concatena ficheros e imprimir archivos en la salida estándar.
- En este ejemplo, le asignaremos multiples lineas a una variable del shell nombre VarSQL
[user1@srvscript ~]$ VarSQL=$(cat <<EOF
SELECT name, last FROM database
WHERE last='bolges'
EOF
)
La variable VarSQL ahora contiene el query o las linea indicadas. Puedes verificar el contenido de la variable con el comando echo -e "$VarSQL"
- En este ejemplo, le asignaremos una cadena de multiples lineas a un archivo, en caso que el archivo no exista se creara y reemplazara su contenido.
cat <<EOF > script.sh
#!/bin/bash
echo \$PWD
echo $PWD
EOF
The print.sh file now contains:
#!/bin/bash
echo $PWD
echo /home/user