Ayúdanos a seguir proporcionándote tutoriales gratuitos y de calidad desactivando tu bloqueador de anuncios. suscriptores a nuestro sitio.

Comando Bash Selection: crea menús en scripts de shell

10 dic 2021 2 min di lettura
Comando Bash Selection: crea menús en scripts de shell
Tabla de contenidos

Introducción

La construcción Bash Select se utiliza para crear un menú numerado a partir de la lista de elementos.

Sintaxis

La instrucción select tiene una sintaxis similar a la de " for loop " y es:

select ITEM in [List]
do
     [commands]
done

Aquí la lista puede ser una matriz, un rango de números, una serie de cadenas separadas por espacios, la salida de un comando, etc. Y cuando se llama a la construcción de selección, cada elemento de la lista se imprimirá con una secuencia numerada. La construcción continuará ejecutándose hasta que se ejecute el comando break.

Ejemplo de Bash Select

Entendamos la construcción select con un ejemplo. Aquí hemos creado un script bash llamado brand.sh y el comando select se usa para recuperar los datos de la lista como un menú. El script imprimirá primero el nombre de todas las marcas en la lista y luego le pedirá al usuario que elija una e imprima el nombre de la marca seleccionada:

#!/bin/bash

select brand in Apple Google Microsoft Amazon Meta
do
  echo "You have chosen $brand"
done

Ejecute el script con ' bash brand.sh '. Verá el siguiente resultado:

1) Apple
2) Google
3) Microsoft
4) Amazon
5) Meta
#? 1
You have chosen Apple
#? 3
You have chosen Microsoft
#? ^C

Presione CTRL + C para salir.

Otro ejemplo

Tomemos otro ejemplo de la construcción select para ver cómo funciona con una declaración de caso.

Aquí crearemos un nuevo archivo llamado select.sh y una vez que se ejecute el archivo, el usuario seleccionará cualquier elemento, luego la declaración del caso hará coincidir el elemento con el valor del caso. Si no se encuentra ningún valor , se imprimirá "Entrada no válida":

#!/bin/bash 

echo "Which Operating System do you like?"

select os in Ubuntu LinuxMint Windows8 Windows7 WindowsXP
do
case $os in 
  "Ubuntu"|"LinuxMint")
     echo "I also use $os."
     ;;
  "Windows8" | "Windows10" | "WindowsXP")
     echo "Why don't you try Linux?"
   ;;
*)
echo "Invalid entry."
break
;;
esac
done

Ahora ejecute el script con bash select.sh y verá el siguiente resultado.

1) Ubuntu     3) Fedora     5) Windows7
2) LinuxMint  4) Windows8   6) WindowsXP
#? 1
I also use Ubuntu.
#? 2
I also use LinuxMint.
#? 4
Why don't you try Linux?
#? 7
Invalid entry.

Conclusión

Esta guía le dice cómo usar el comando select en scripts bash.

Apóyenos si le gusta nuestro contenido. Gracias.

Buy me a coffeeBuy me a coffee

Únase a la conversación

Apóyenos con una donación.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.