Tip: Usar ficheros de plantillas (templates) con Bash Script

Otro tip, pero este más de programación con Bash. 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.

 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:

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.

Fuentes | Code Guru | StackOverFlow

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s







¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map

Archivos

agosto 2010
L M X J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Blog Stats

  • 31.252.098 hits

A %d blogueros les gusta esto: