Continuamos con la serie de casos prácticos que iniciamos sobre automatización de un sistema GNU/Linux con shell script, pero ahora vamos a darle una vuelta a ficheros de configuración compartida. Automatizaciones. Bash Shell Script: nuevosUsuarios.sh
Resulta que nos damos cuenta de que estamos elaborando un conjunto de herramientas que vamos a reutilizar en varias ocasiones compuestas por una serie de scripts. Ya tenemos varios scripts y tiene pinta de que vamos a crear más todavía y que los tendremos que reutilizar.
Al trabajar con estos scripts hemos notado que estamos reutilizando variables entre scripts. Por ejemplo, la variable dirBase=/educatica/
El problema, entonces, es que tenemos varios scripts que utilizan las mismas variables que almacenan parte de la configuración compartida por todas estas herramientas. Por ejemplo, como hemos dicho, dirBase.
Caso práctico
Vamos a crear dos scripts uno llamado showProjects.sh y otro llamado sizeProjects.sh.
Ambos scripts recibirán por parámetro una lista variable de nombres de proyectos. El primero de ellos, mostrará información del proyecto en nuestro sistema. Si no existe el proyecto mostrará un mensaje advirtiendo de la situación y en caso contrario mostrará el contenido del directorio del proyecto que está dentro del directorio /educatica/2026/proyectos con el nombre del proyecto.
El segundo comprobará si existe el proyecto, informando al operador de esta situación. Si existe, mostrará un resumen de ocupación en disco del directorio del proyecto que está en /educatica/2026/proyectos con el nombre del proyecto.
Buscamos utilizar una variable compartida llamada dirBase o dirProyectos que contenga la ruta absoluta del directorio de proyectos.
Solución
Fichero de configuración
/etc/educatica/proyectos/proyectos.cfg

Librería de funciones
/etc/educatica/proyectos/proyectos.lib

Código de los scripts
showProyectos.sh

showSizes.sh

Dejar una respuesta