educación, informática y demás

GNU/Linux bash, Shell scripts

Ejercicios de bucles for

Para desarrollar estos ejercicios puedes echar un vistazo a la publicación ejemplos de uso del bucle for.

Ejercicio 01 – checkUsers.sh

Crea un script llamado chekUsers.sh que reciba por parámetro una lista de usuarios, es decir podemos pasarle tantos parámetros como queramos. El script deberá comprobar si los usuarios existen o no en el sistema.

Para cada usuario, comprobaremos si el usuario existe. Si existe el usuario en el sistema, mostraremos un mensaje advirtiendo que existe y mostraremos la ruta de su directorio personal. Si no existe, informaremos de que esa cuenta de usuario no existe.

Solución propuesta

Primero tendríamos que ser capaces de recorrer la lista de valores pasados por parámetro…

Versión 02

Para cada usuario pasado por parámetro, comprobaremos si el usuario existe. Si el usuario existe, mostraremos el nombre de usuario y la ruta de su directorio personal. Si no existe, crearemos una nueva cuenta de usuario en el sistema.

Ahora, comprobaremos si existe su directorio de empleado. El directorio de un empleado tendrá el nombre del usuario y estará almacenado en /educatica/empleados. Si no existe el directorio de empleado, créalo y configura los permisos para que este usuario sea el único que pueda acceder con permisos de control total. El resto de usuarios no podrá acceder para realizar ninguna operación.

Ayuda: Para comprobar si un directorio existe podemos utilizar el comando test con la opción adecuada:

Consulta la ayuda del comando test y en la zona de opciones de comprobación de ficheros tenemos.

Versión 03 – Control de errores y sintaxis

Vamos a añadir un par de comprobaciones. El script deberá ser ejecutado por root. Si no es así, se mostrará un mensaje de error adecuado y terminaremos la ejecución del script con un código de salida de error.

Vamos a comprobar si se han pasado parámetros. Si no se pasan parámetros, no se ejecutará el bucle for. No obstante, queremos advertir al usuario de la sintaxis de nuestro script. Si no se pasa ningún parámetro, mostraremos un mensaje con una pequeña ayuda acerca del uso del script.

Dejar una respuesta