Primero, revise la sintaxis básica del comando "leer":
leer [opción] variableEl uso del comando "leer" significa que está interactuando con Bash para obtener información del usuario. Guarda el valor en una variable, pero sin "PS" firmar. Podrás comprender mejor este concepto con un ejemplo.
Ejemplo 1: uso del comando "leer" en un script Bash
Para examinar el comando "leer" más en profundidad, crearemos un script simple que pedirá el nombre del usuario. Primero, abra cualquier editor de texto; para este tutorial, estoy usando el editor de texto Vim debido a sus muchas funciones útiles. Para instalar Vim, ejecute el siguiente comando en la terminal:
$ sudo apt install vimA continuación, escriba lo siguiente en el archivo de texto:
#! \ bin \ bashecho "Por favor escriba su nombre"
leer nombre
echo "Tu nombre es" $ name
Guarde el archivo por cualquier nombre, luego presione Esc y escriba ": w readcom.sh.”Para ejecutar el script, emita el siguiente comando:
$ bash readcom.shEl script anterior le pedirá al usuario que escriba su nombre. El comando "leer" guardará la entrada del usuario. La siguiente línea imprimirá el nombre que ingresó el usuario.
Ejemplo 2: simplificación de código mediante el operador "prompt"
El ejemplo anterior se puede simplificar aún más utilizando el "inmediato"Operador. Reescribamos el ejemplo anterior para comprender el código:
#! / bin / bashread -p "Por favor escriba su nombre" nombre
echo "Tu nombre es" $ name
Ejemplo 3: Ocultar la entrada del usuario mediante el operador "secreto / silencioso"
La "-s"La bandera se puede utilizar para ocultar la entrada del usuario. El siguiente ejemplo de secuencia de comandos de Bash muestra cómo utilizar el operador "-s":
#! / bin / bashread -p "Por favor escriba su nombre de usuario" nombre de usuario
read -s -p "Por favor ingrese su contraseña" $ contraseña
Ejemplo 4: Limitación de la longitud de los caracteres
La "-norteLa bandera "se puede usar para agregar una restricción al número de caracteres que el usuario puede ingresar.
#!/ bin / bashread -n 8 -p "Por favor, escriba su nombre de usuario que no exceda los 8 caracteres" username
echo "Tu nombre de usuario es" $ username
Con la opción "-n", el usuario aún puede escribir menos de ocho caracteres. Para restringir aún más la longitud de entrada, el "-norteSe puede utilizar la bandera ", que limita la respuesta del usuario a exactamente ocho caracteres.
Ejemplo 5: obtener la entrada en una matriz
La entrada del usuario también se puede tomar en una matriz con el "-a" bandera. Por ejemplo, para obtener el nombre, la edad y la dirección de correo electrónico del usuario de una sola vez, podemos usar una matriz. Veamos un ejemplo:
#! / bin / bashecho "Por favor, escriba su nombre, edad y correo electrónico"
leer -a correo electrónico de edad del nombre de la matriz
echo "Su nombre, edad y dirección de correo electrónico son: $ array [@] name age email"
echo "Tu nombre y edad son: $ array [@]: 0: 1 nombre edad"
echo "Su dirección de correo electrónico es: $ array [2] email"
- "$ Array [@]" recorrerá todas las variables.
- Para recorrer los índices de 0 a 1, use "$ matriz [@]: 0: 1" con los nombres de las variables.
- Para obtener el valor de una variable en particular en un índice específico, use "$ matriz [2]" con el nombre de la variable.
Ejemplo 6: Agregar un tiempo de espera al comando "leer"
Como indica el nombre del comando, se puede agregar un tiempo de espera como condición para leer el código usando la bandera "-t", que hace que el usuario ingrese información durante un tiempo específico. De lo contrario, el programa se moverá a la siguiente línea de código.
#! \ bin \ bashecho "¿Cuál es la capital de Japón?? Responde en 5 segundos "
leer -t 5 respuesta
si [“$ respuesta” = “tokio”] || [“$ Answer” = “Tokio”];
luego
echo "Tu respuesta es correcta!"
demás
echo "Tu respuesta es incorrecta!"
fi
Conclusión
Obtener información de una entrada de usuario es una de las partes más importantes de la programación, lo que hace que sus programas sean más interactivos. Este artículo le mostró cómo usar el comando "leer", uno de los comandos clave en la secuencia de comandos Bash. En este artículo, aprendió sobre algunos de los diversos enfoques que puede utilizar con el comando "leer", desde operadores de banderas básicos hasta operadores avanzados.