Continuamos con la serie de casos prácticos sobre automatización de un sistema GNU/Linux con shell script. La última entrada es: Automatizaciones. Bash Shell Script: nuevosUsuarios.sh
Resulta que nuestro jefe nos ha dado la enhorabuena por todo el trabajo que llevamos realizado. Es más, nos ha regalado otro lote de productos de ibéricos de una empresa pacense, Eurojamón, que nunca falla!
Ahora nos pide que realicemos cierta automatización sobre samba porque nos va a pedir en un futuro no muy lejano que configuremos recursos compartidos a través de samba de forma automática.
Por lo pronto, nos pide que…
Mostrar en pantalla los recursos compartidos en samba
Queremos mostrar un listado de recursos compartidos junto con la ruta del directorio que se está compartiendo.
Algo así:
- public:/educatica/shared/pub
- private:/educatica/shared/privado
Solución del problema
Buscamos las líneas en las que aparezca el parámetro de configuración path, esa es la ruta del directorio que se está compartiendo, ahora tan solo tenemos que mirar en qué sección está esa ruta. Ese será, el nombre de la sección, el nombre del recurso compartido.
Solución algoritmica
Sabemos recorrer un fichero en secuencia. La pregunta aquí es, cómo saber en qué sección estamos o el nombre del recurso compartido en el que estamos cuando encontramos un parámetro de configuración path.
Mientras vamos recorriendo línea a línea, si encontramos una sección, la anotamos como la sección en la que estamos actualmente.

Cuidado! tenemos que configurar el IFS (Internal Field Separator) para que el comando for utilice \n o salto de línea como separador entre campos de la cadena que está recorriendo, el contenido del fichero smb.conf sin comentarios.

Posible solución 🙂

Dejar una respuesta