Estoy buscando un condicional para evitar que los usuarios dejen en blanco un valor de entrada. ¿Alguna sugerencia?¿Cómo comprobar que no haya datos ingresados en bash read?
Gracias
Estoy buscando un condicional para evitar que los usuarios dejen en blanco un valor de entrada. ¿Alguna sugerencia?¿Cómo comprobar que no haya datos ingresados en bash read?
Gracias
No hay entradas (o incluso espacios creo) se ingresan como cadenas vacías, a fin de comprobar la entrada, mientras que el var de entrada está vacía:
input=
while [[ $input = "" ]]; do
read input
done
unset input
while [ -z ${input} ]; do
read input
done
Esto tiene el problema (menor) de no manejar^D como fin de entrada, por lo que se repetirá siempre si lee '/ dev/null'. Eso se puede solucionar si lo escribe como 'mientras lee la entrada && [-z" $ input "]; hacer: hecho'. – Idelic
El bucle se atascaría si no hay entrada. – davide