Entrada del usuario del script bash

Entrada del usuario del script bash
Tomar información del usuario es una tarea común para cualquier lenguaje de programación. Puede recibir la entrada de un usuario en script bash de múltiples maneras. Se utiliza un comando de lectura en el script bash para tomar datos del usuario. Se pueden tomar datos únicos o múltiples en el script bash aplicando diferentes opciones del comando leer. Algunos usos comunes del comando de lectura se muestran en este tutorial.

Opción del comando de lectura:

Opción Objetivo
-pag Se utiliza para proporcionar un mensaje de ayuda para el usuario antes de la solicitud de entrada.
-s Se usa para tomar información invisible del usuario. Esta opción se utiliza para tomar una contraseña o datos secretos. Se llama modo silencioso.
-T Se usa para establecer el tiempo en segundos para esperar la entrada del usuario.
-norte Se usa para establecer el límite de los caracteres de entrada.

Ejemplo-1: Uso del comando de lectura sin variable

El comando de lectura se puede usar sin ninguna variable. El $ Respuesta La variable se usa para leer la entrada tomada del usuario por el comando Read sin variable. Cree un archivo bash con el siguiente script para saber cómo usar el comando Read sin ninguna variable.

#!/bin/bash
Echo "¿Cuál es tu lenguaje de programación favorito??"
# Tomar entrada sin definir variable
leer
# Imprimir el valor de entrada
echo "Tu respuesta es $ respuesta"

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-2: Uso del comando de lectura simple

Cree un archivo bash con el siguiente script para saber cómo usar el comando Read con una variable. Después de ejecutar el script, el programa esperará la entrada del usuario. Cuando el usuario escribe los datos y presiona Enter, los datos se almacenarán en la respuesta variable. El valor del respuesta La variable se imprimirá más tarde.

#!/bin/bash
echo -n "¿Cuál es tu comida favorita?"
# Asignar valor de entrada a una variable
Respuesta de lectura
# Imprimir el valor de la variable
echo "oh! te gusta $ respuesta!"

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-3: Uso del comando leer con opciones

Cree un archivo bash con el siguiente script para saber cómo usar las opciones de -p y -s juntas en el script bash. En este ejemplo, el nombre de usuario y la contraseña se tomarán del usuario y se compararán con el valor particular para verificar el nombre de usuario y la contraseña son válidos o no.

#!/bin/bash
# Escriba su información de inicio de sesión
Leer -P 'Nombre de usuario:' Usuario
leer -sp 'contraseña:' pasar
# Verifique el nombre de usuario y la contraseña son válidos o no
if (($ user == "admin" && $ pass == "12345"))
entonces
echo -e "\ nsuccessful login"
demás
echo -e "\ nunsuccessful login"
FI

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-4: Uso del comando de lectura para tomar múltiples entradas

Las múltiples entradas se pueden tomar a la vez utilizando el comando Read con múltiples nombres de variables. En el siguiente ejemplo, se tomarán cuatro entradas en cuatro variables utilizando el comando Read.

#!/bin/bash
# Tomar múltiples entradas
Echo "Tipo cuatro nombres de sus lenguajes de programación favoritos"
Leer LAN1 LAN2 LAN3 LAN4
echo "$ lan1 es tu primera opción"
echo "$ lan2 es tu segunda opción"
echo "$ lan3 es tu tercera opción"
echo "$ lan4 es tu cuarta opción"

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-5: Uso del comando leer con el límite de tiempo

Cree un archivo bash con el siguiente script para tomar la entrada restringida del tiempo del usuario. Aquí, el tiempo se contará en segundos. En el siguiente ejemplo, el programa esperará 5 segundos para la entrada del usuario, y si el usuario no puede escribir los datos dentro de los 5 segundos, el programa saldrá sin valor.

#!/bin/bash
# Tome la entrada con el límite de tiempo
Leer -T 5 -P "Escriba tu color favorito:" Color
# Imprimir el valor de entrada
Echo $ color

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El valor de entrada se ha dado en la primera ejecución, y en la segunda ejecución, no se ha dado ningún valor de entrada dentro de los 5 segundos.

Ejemplo -6: Uso del comando de lectura con la opción -n

Cree un archivo bash con el siguiente script para tomar la entrada de una longitud específica. Según el script, el usuario podrá ingresar un máximo de 15 caracteres como entrada.

#!/bin/bash
Echo "Ingrese su número de teléfono (máximo 15 caracteres):"
# Tome la entrada de un máximo de 15 caracteres de largo
Leer -N 15 Teléfono
# Agregue una nueva línea
eco
# Imprimir el valor de entrada
Echo "Su número de teléfono es $ teléfono"

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-7: Verificar una ruta tomada es archivo o directorio

Cree un archivo bash con el siguiente script para tomar la entrada un valor de ruta desde el terminal y verificar que la ruta de entrada sea un directorio o archivo.

#!/bin/bash
# Tomar el valor de la ruta de la entrada
leer -p "Ingrese la ruta válida:" ruta
# Verificar los valores de entrada es un directorio o no
if [-d $ ruta]; entonces
Echo "$ Path es un directorio."
# Verificar los valores de entrada es un archivo o no
Elif [-f "$ ruta"]; entonces
echo "$ Path es un archivo."
demás
hacer eco "camino inválido."
FI

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-8: Inicializar matriz usando el comando Read

La variable de matriz se puede declarar e inicializar utilizando el comando Read. Cree un archivo bash con el siguiente script para saber cómo crear e inicializar una matriz utilizando el comando Read. A continuación, todos los elementos de la matriz, el primer elemento de la matriz, los dos primeros elementos y el último elemento de la matriz se imprimirán.

#!/bin/bash
Echo "Ingrese cinco valores numéricos para la matriz con espacio:"
# Leer valores para la matriz
leer -a myarr
# Imprimir todos los valores de matriz
echo $ myarr [@]
# Imprima el primer valor de la matriz
echo $ myarr [0]
# Imprima los dos primeros valores de la matriz
echo $ myarr [@]: 0: 2
# Imprima el último valor de la matriz
echo $ myarr [4]

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Conclusión:

Se han mostrado diferentes usos del comando de lectura en este tutorial mediante el uso de múltiples ejemplos para ayudar a los usuarios de bash a conocer los usos de este comando correctamente y aplicarlo a su script.