Si tenemos ficheros de plantillas en los que hemos definido algunas variables y queremos obtener el fichero tras aplicar la sustitución de las variables, podriamos emplear el comando “eval” de la siguiente manera.
1 |
eval "echo \"$(cat /ruta/a/la/plantilla)\"" |
Por ejemplo, podriamos tener un fichero de plantilla llamado “saludo.txt”
Hola $NOMBRE, estamos muy agradecidos de que lea el Blog $BLOG
Ahora desde un script de shell podriamos leer este fichero y aplicar una sutitucion de variables de una manera similar a la siguiente:
1 2 3 |
NOMBRE="John Doe" BLOG="Ubuntulife.net" eval "echo \"$(cat ./saludo.txt)\"" |
Si no lo conociais el comando “eval” nos puede servir por ejemplo para evaluar una expresión de cadena y proceder a su ejecución en la shell, por ejemplo:
eval “ls -l” nos saca un listado de los archivos.
Pero como eval parte de una expresion construida a base de strings, ya os podeis imaginar que puede hacer bastantes cosas interesantes en la programación de bash.