
Hola, hoy vamos a hablaros sobre el comando read de Bash. Nos facilitará las tareas de scripting en Linux. Este comando, nos permite interactuar con el usuario para que pueda introducir datos. Es muy común que el usuario necesite introducir datos en un script. Por ejemplo, una contraseña, el valor de un parámetro, etc. Vamos a ver algunos ejemplos sobre el comando read, que esperamos que os sirvan.
Para empezar a probar el comando read, necesitamos crear un fichero .sh con vi, nano, gedit, o el editor que queramos. En este caso crearemos un fichero, por el momento vacío, que lo llamaremos read.sh. Una vez creado, necesitaremos darle permisos de ejecución, para que después podamos probar. Para eso usaremos:
chmod +x read.sh
Una vez creado el fichero y con permisos de ejecución, podremos probar los siguientes ejemplos.
Ejemplo básico del comando read
En este ejemplo, vemos el caso más básico que nos podemos encontrar, simplemente, en la misma línea introducir «read + variable» para luego mostrarla por pantalla.
#!/bin/bash echo Introduce tu usuario read usuario echo Bienvenido, $usuario
El código anterior, se podría optimizar, introduciendo la pregunta con read, en vez de crear el mensaje con «echo«. Para ello, deberemos usar el parámetro – p de read. Por ejemplo:
#!/bin/bash read -p "Introduce tu usuario: " usuario echo Bienvenido, $usuario
De esta forma, tendríamos la pregunta y la variable en la misma línea.
Petición de contraseñas
Si habéis probado los ejemplos anteriores, os habréis dado cuenta de que, el valor introducido por el usuario, es visible. Esta opción no es viable, si necesitamos pedir la contraseña, ya que necesitamos ocultar los caracteres introducidos. Para llevar a cabo esta acción, necesitaremos usar el parámetro -s, el cual nos permitirá ocultar en pantalla los caracteres introducidos, pero recoja correctamente los datos proporcionados.
En este ejemplo, pediremos el usuario y contraseña al usuario, y solo, para comprobar que funciona, mostraremos la contraseña posteriormente en pantalla. Este ejemplo, no tendría sentido en producción, ya que usaría esa contraseña para realizar otra acción y siempre ocultándola.
#!/bin/bash read -p "Usuario: " usuario read -sp "Bienvenido, $usuario, introduce tu contraseña: " password echo -e "\nEl usuario es $usuario y la contraseña es $password"
En el ejemplo anterior, combinamos los dos parámetros vistos. El comando -p para introducir un mensaje y -s para ocultar la contraseña. Posteriormente, con echo, mostramos la contraseña por pantalla. Para que inserte una nueva línea (\n), usamos echo -e para que lo reconozca. Esta sería su salida:

Esperamos que os haya sido de utilidad esta entrada. Nos vemos en la siguiente entrega. Si no puedes esperar. Siempre puedes revisar nuestras entradas que incluyen comandos en bash.
Fuente: https://www.atareao.es/tutorial/scripts-en-bash/preguntar-al-usuario-en-bash/