Entrada de usuario en Bash

MD Aminul Islam 18 agosto 2022
  1. Entrada de usuario en Bash
  2. Tomando la entrada Yes o No del usuario
Entrada de usuario en Bash

Tomar la entrada del usuario es muy importante para cualquier programa o script. De esta manera, un usuario interactúa con el sistema y proporciona información al sistema.

Al igual que otros lenguajes de programación o secuencias de comandos, Bash admite la entrada del usuario. El formato general para tomar la entrada del usuario es read YOUR_VARIABLE.

Si desea crear una etiqueta para que los usuarios sepan qué tipo de entrada necesitan, el formato se verá como read -p "YOUR INSTRUCTION HERE : " YOUR_VARIABLE. En este artículo, veremos cómo podemos llevar la entrada del usuario al sistema en Bash.

Además, veremos algunos ejemplos y explicaciones relevantes para el tema para facilitar el tema.

Entrada de usuario en Bash

Como ya discutimos, necesitamos usar la palabra clave read para llevar la entrada del usuario al sistema. Es una palabra clave incorporada en Bash que lee la entrada del usuario.

En el siguiente ejemplo, tomaremos una entrada del usuario y le proporcionaremos la salida, incluida la entrada del usuario. El código de nuestro ejemplo se verá así:

read YOUR_VAR
echo "You entered the number $YOUR_VAR"

Arriba compartimos un ejemplo muy simple a través del cual tomamos una entrada y proporcionamos una salida como la siguiente.

50
You entered the number 50

Pero, ¿cómo sabrá el usuario que debe proporcionar un valor numérico aquí? Necesitamos indicarle al usuario que necesita proporcionar un valor numérico aquí.

Para hacer esto, debe seguir el ejemplo a continuación, que es similar pero avanzado al anterior. El código para nuestro ejemplo se verá como el siguiente.

read -p "Please enter a number: " YOUR_VAR
echo "You entered the number $YOUR_VAR"

Cuando ejecuta este ejemplo, la secuencia de comandos primero muestra un mensaje Please enter a number: y cuando el usuario proporciona un valor numérico, obtendrá el siguiente resultado.

Please enter a number: 50
You entered the number 50

Tomando la entrada Yes o No del usuario

A continuación, veremos un ejemplo que tomará solo la entrada del usuario entre Yes o No. El código de nuestro ejemplo será algo como esto:

while true; do
    read -p "Do you wish to continue? " yn
    case $yn in
        [Yy]* ) echo "You have selected YES!! ";;
        [Nn]* ) echo "You have selected NO!! ";;
        * ) echo "Please answer between YES or NO";;
    esac
done

Usamos un bucle while y una declaración condicional case en nuestro ejemplo. Tomamos la entrada del usuario a través de la línea read -p "Do you wish to continue? " yn.

A través de la línea [Yy]* ) echo "You have selected YES!! ";; y [Nn]* ) echo "You have selected NO!! ";; verificamos la entrada del usuario.

Si la entrada es Y o y, mostrará la salida You have selected YES, y si la entrada es N o n, mostrará la salida You have selected NO.

Por último, establecemos una salida predeterminada si un usuario ingresa una entrada inesperada junto a la línea * ) echo "Please answer YES or NO";;. Después de ejecutar el código, obtendremos una salida como esta:

Do you wish to continue the program? Y
You have selected YES!!
Do you wish to continue the program? Y
You have selected YES!!
Do you wish to continue the program? N
You have selected NO!!

Tenga en cuenta que todo el código utilizado en este artículo está escrito en Bash. Solo funcionará en el entorno Linux Shell.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Artículo relacionado - Bash Input