Cordiales Saludos


Corresponde en esta publicación tratar el tema de la Entrada de Datos por teclado. Esta acción la veremos cada vez que estudiemos un lenguaje de programación.
Todas las variables usadas hasta hoy la hemos asignado directamente dentro del script. Con la entrada de datos tenemos una opción muy potente para el tratamiento de los datos. Ahora podemos entrar datos distintos cada vez que ejecutemos el programa. Aquí se abre un nuevo mundo de posibilidades.
A continuación la estructura básica para solicitarle un dato al usuario por medio del teclado.

Ejecución del código
$ bash script_60.sh
Introduce por teclado un color
blanco
Ingresaste el color: blanco









Esta opción es más efectiva que la descrita en el script anterior. Imaginemos que con la estructura anterior necesitamos 10 datos, debemos tener 10 variables para recibirlos, en cambio usando el vector es ilimitado el número de datos a introducir.

Otra forma de hacer el ejercicio es:
1 #!/bin/bash
2 # script_65a.sh Por: Rafael Aquino
3 # Entrada de datos por teclado, Vector
4
5 read -p "Introduce varios numero: " -a vector
6 echo "El vector es ${vector[@]}"
7 echo "El primer elemento es: ${vector[0]}"
8 echo "El ultimo elemento es: ${vector[-1]}"
9 #...................................

Ya este formato lo conocemos cuando instalamos un comando, aplicación o cuando actualizamos nuestro sistema:
Do you want to continue? [Y/n] Si colocamos Y o ENTER se ejecuta la acción.

Tu respuesta es: s
Ejecución del Código (Tecleando n)
$ bash script_66.sh Deseas continuar? S/n (default: s) n Tu respuesta es: n
Ejecución del Código (Podemos si queremos tipear "s" igual funcionará)
$ bash script_66.sh Deseas continuar? S/n (default: s) s Tu respuesta es: s
Otra forma:
1 #!/bin/bash 2 # script_66a.sh Por: Rafael Aquino 3 # Entrada de datos por teclado, nombre por default 4 5 read -p "Deseas continuar? S/n (default: s) " resp 6 resp="${resp:=s}" 7 echo "Tu respuesta es: $resp" 8 #...................................
<center>

</center>
Otra forma de darle dinamismo a nuestros script es colocando un tiempo de espera para que tecleemos **algo**, transcurrido el tiempo y si no hemos introducido ningún valor se sale del la solicitud de datos.
En esta oportunidad combiné la variable **default** (visto en el ejercicio anterior) con este ejercicio, por si no se teclea nada, automáticamente coloca el valor por **default**.
<center>

</center>
Ejecución del código (Expirando el tiempo)
$ bash script_67.sh Introduce un numero, (default: 10) Tu respuesta es: 10
Ejecución del código (introduciendo un número por teclado)
$ bash script_67.sh Introduce un numero, (default: 10) 543 Tu respuesta es: 543
Otra forma
1 #!/bin/bash 2 # script_67a.sh Por: Rafael Aquino 3 # Entrada de datos por teclado, expiracion de espera 4 5 read -p "Introduce un numero, (default: 10)" -t 10 resp 6 resp="${resp:=10}" 7 echo "Tu respuesta es: $resp" 8 #...................................
<center>

</center>
Esta formato de solicitud de dato es muy útil cuando queremos limitar el número de caracteres. Si necesitamos tres caracteres sólo tomará tres caracteres.
<center>

</center>
Ejecución del código
$ bash script_68.sh Introduce un numero de tres cifras 678 Tu numero es: 678
Otra forma
1 #!/bin/bash 2 # script_68a.sh Por: Rafael Aquino 3 # Entrada de datos por teclado, limite de caracteres 4 5 read -p "Introduce un numero de tres cifras " -n 3 resp 6 echo -e "\nTu numero es: $resp" 7 #...................................
Hasta aquí nuestra publicación. Como siempre modifiquemos todos estos ejercicios para tener mas dominios sobre ellos.
>IMPORTANTE: Los comando vistos aquí y en próximas publicaciones están limitados para mostrarlos y conceptualizarlos para nuestro quehacer diario. Cada comando tiene muchas opciones que debemos investigar por nuestra propia cuenta cuando estemos trabajando con ellos. Aprovechemos el internet para conocer en profundidad el comando que estemos estudiando y en primer orden no olvidemos lo potente y todo lo que nos brinda el comando **man** para conocer la sintaxis y todo lo relacionado con todos los comandos que tenemos en nuestro sistema sin recurrir a internet.
<center>

</center>
Todos a practicar, incluyéndome! Nos vemos en la próxima publicación...
---
Estos ejercicio y los anteriores los puedes encontrar en el repositorio del curso: https://gitlab.com/btcsiraquino/hp_bash_ejercicios
---
[Mi Twitter](https://twitter.com/Rafa_elaquino)
Comments (2)
Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!
Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).
You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support.
Te va a tocar poner una etiqueta por curso para poder usarlo como lista y asi traer un curso en especifico completo
También tengo esta opción: https://siraquino.github.io/pythoncumanes/linux.html