Bucle while
El bucle while permite repetir una serie de acciones, comandos, mientras se cumpla una condición dada.
Como siempre, el bash shell scripts, la condición se comprueba con la ejecución de un comando. Por tanto, se ejecutará el cuerpo del bucle, los comandos dentro del while, mientras la ejecución del comando devuelva una valor de retorno de no error, un cero.
Por supuesto, podemos utilizar el comando test igual que hemos hecho con las sentencias condicionales if.
userData con while
Vamos a modificar el script userData.sh para que ahora no reciba el nombre del usuario por parámetro, sino que lo solicite por teclado al usuario.
Si el usuario no inserta ningún valor por teclado, terminamos la ejecución del script, pero en esta ocasión no será un error. Simplemente termina la ejecución.
Mientras el usuario inserte un valor como nombre de usuario, el script comprobará si el usuario existe. Si el usuario existe en el sistema, mostrará la información del usuario, si no existe entonces mostrará un mensaje indicando que dicho usuario no existe en el sistema.
Una vez mostrada la información, exista o no el usuario, volverá a pedir nombre de usuario. Esta operación, como hemos dicho, se repetirá una y otra vez mientras el usuario inserte un valor por teclado.
Partimos de una función que muestra información de un usuario cuyo nombre se pasa por parámetro.

Ahora pedimos el nombre del usuario por teclado. El cuerpo del bucle while solo se ejecutará si se cumple la condición, es decir no está vacía la variable usuario que contiene el nombre del usuario a consultar.

Se pide el nombre del usuario en 1 por primera vez. Si no se inserta nada, no se ejecutará nunca el cuerpo del bucle, puesto que no se cumple la condición del while.
Dentro del while, se vuelve a pedir el nombre del usuario, puesto que la condición para salir del bucle es que esa variable, usuario, esté vacía. Así se puede salir del bucle cuando el usuario no quiera consultar más datos.

Podemos ejecutarlo y comprobarlo

Dejar una respuesta