Seleccionar bucle en Shell
Los ciclos de selección proporcionan una manera fácil de crear un menú numerado del que el usuario puede elegir. Útil cuando desea pedirle al usuario que seleccione uno o más elementos de una lista de opciones.
Sintaxis en Unix / Linux
select var in word1 word2 . wordN do cac lenh de thuc thi cho moi word . done
aquí, Donde es el nombre de la variable, word1 a wordN son cadenas separadas por espacios. Cada vez que se ejecuta el bucle, el valor de la variable var se establece en la siguiente palabra de la lista de palabras, desde la palabra 1 hasta la palabra N.
Se ejecutará un conjunto de comandos para cada opción dentro del ciclo. Kersh y adaptado a golpear No disponible en sh.
por ejemplo en Unix/Linux
El siguiente ejemplo sencillo proporciona al usuario opciones de bebidas en una lista de bebidas.
#!/bin/ksh select DRINK in tea cofee water juice appe all none do case $DRINK in tea | cofee | water | all ) echo "Go to canteen" ;; juice | appe ) echo "Available at home" ;; none ) break ;; *) echo "ERROR: Invalid selection" ;; esac done
se muestra el menú escoger El ciclo se ve así:
$ ./ test . sh 1 ) tea 2 ) cofee 3 ) water 4 ) juice 5 ) appe 6 ) all 7 ) none #? juice Available at home #? none $
Puede cambiar el aviso que se muestra seleccionar ciclo Cambiando las variables de PS3 de la siguiente manera:
$PS3 = "Please make a selection => " ; export PS3 $ ./ test . sh 1 ) tea 2 ) cofee 3 ) water 4 ) juice 5 ) appe 6 ) all 7 ) none Please make a selection => juice Available at home Please make a selection => none $
Según el punto de entrenamiento
Anterior: Bucle en Shell para
Próxima lección: Expresiones regulares en Unix / Linux