Especificar los nombres de los argumentos es opcional. El comando almacena la entrada de un usuario en $REPLY  variable por defecto.
 
 La siguiente tabla muestra todas las opciones de comando posibles y su descripción.
 | Opción | Descripción | 
|---|
  | -a <array> | Asigna la secuencia de palabras proporcionada a una variable llamada <array>. | 
 | -d <delimiter> | Lee una línea hasta el <delimiter>proporcionado  en lugar de una nueva línea. | 
 | -e | Inicia una sesión de shell interactiva para obtener la línea a leer. | 
 | -i <prefix> | Agrega texto inicial antes de leer una línea como prefijo. | 
 | -n <number> | Regresa después de leer el número especificado de caracteres respetando el delimitador para terminar antes. | 
 | -N <number> | Regresa después de leer el número especificado de caracteres, ignorando el delimitador. | 
 | -p <prompt> | Envía la cadena de mensaje antes de leer la entrada del usuario. | 
 | -r | Deshabilitar barras diagonales inversas para caracteres de escape. | 
 | -s | No repite la entrada del usuario. | 
 | -t <time> | El comando expira después del tiempo especificado en segundos. | 
 | -u <file descriptor> | Leer del descriptor de archivo en lugar de la entrada estándar. | 
   
 Continúe leyendo para ver cómo funciona el comando de lectura funciona a través de varios ejemplos.
 Bash leer ejemplos
 
 El read  funciones de comando sin argumentos ni opciones. Para probar el comando, siga los pasos a continuación:
 
 1. Abra la terminal.
 
 2. Escribe el comando y presiona Enter :
 read
  
 
 El indicador espera la entrada del usuario. 
 
 3. Escribe una oración y presiona Entrar .
  
 
 El terminal vuelve a su estado normal.
 
 4. Recupera el mensaje con el comando echo:
 echo $REPLY
  
 
 El $REPLY  variable almacena la read  mensaje de comando.
 
 A continuación se muestran ejemplos que demuestran casos de uso más complejos para Bash read  comando.
 Argumentos
 
 Guarde la entrada del usuario en una variable específica proporcionando un argumento:
 read input
 
 Recuperar el mensaje con:
 echo $input
  
 
 Alternativamente, divida la entrada del usuario en diferentes variables agregando múltiples argumentos. 
 
 Por ejemplo:
 read var1 var2
 
 La entrada del usuario se divide en palabras individuales. Recupéralas con:
 echo $var1
echo $var2
  
 
 Cuando la entrada del usuario tiene más palabras que variables, las palabras adicionales se asignan a la última variable proporcionada:
 read var1 var2
 foo bar baz
 echo $var1
echo $var2
  
 
 Si hay menos palabras que variables, las variables restantes están vacías.
 Tuberías
 
 Piping toma la salida estándar de un comando y la analiza como entrada estándar para otro proceso. Usar echo  y canalice la información para read  para el análisis inmediato. Por ejemplo:
 echo "Hello world!" | (read var1 var2; echo $var1; echo $var2)
  
 
 Los paréntesis crean una subcapa con varios comandos y las variables individuales se imprimen en la consola. 
 Heredoc
 
 Otra forma de ingresar texto en el read  El comando está usando la notación heredoc. Por ejemplo:
 read var1 var2 <<< "Hello world!"
echo $var1
echo $var2
  
 
 El read  El comando espera un literal de flujo de entrada y el identificador de redirección (<<<  ) ingresa la cadena aquí.
 Delimitadores
 
 El read  El comando define dos tipos de delimitadores:
 
 1. El delimitador para read  dominio. 
 
 De forma predeterminada, al pulsar Intro (nueva línea) finaliza el comando. Agregue el -d  etiquete y proporcione un delimitador diferente entre comillas para terminar de manera diferente. 
 
 Por ejemplo:
 read -d "-"
  
 
 En lugar de una nueva línea, el nuevo delimitador es un guión (-  ) en lugar de una nueva línea. El comando termina al llegar al delimitador, sin tener en cuenta el número de argumentos. La respuesta en $REPLY  o la variable proporcionada almacena la entrada del usuario sin el guión (-  ).
 
 2. El delimitador para dividir campos.
 
 La variable $IFS  (Separador de campo interno) almacena los delimitadores de palabras. El valor predeterminado por el que se dividen las palabras es un espacio " ". Establecer el $IFS  variable a un valor diferente para controlar este comportamiento. 
 
 Por ejemplo, para separar palabras con guiones, use:
 IFS="-"
echo "Hello-world!" | (read var1 var2; echo $var1; echo $var2)
  
 
 Agregue diferentes separadores para dividir campos por diferentes valores:
 IFS="-_"
echo "Hello_world-!" | (read var1 var2 var3; echo $var1; echo $var2; echo $var3)
  
 
 El separador tiene una longitud de un carácter y $IFS  toma cada divisor indicado individualmente.
 Aviso
 
 Use el comando de lectura para crear avisos interactivos. Agrega el -p  etiquete y proporcione el texto del aviso, por ejemplo:
 read -p "Enter your username: " username
 
 El texto del mensaje se imprime y requiere la entrada del usuario. El texto se guarda en la variable $username  .
 echo Your username is $username.
  
 
 Usa el -p  opción en los scripts de Bash para trabajar con la creación de avisos.
 Ocultar entrada de usuario
 
 El read  El comando ofrece el -s  etiqueta para ocultar la entrada de información confidencial. Un caso de uso común es combinar -s  con -p  etiqueta para crear una solicitud de contraseña. 
 
 Por ejemplo:
 read -p "Enter your password: "$'\n' -s password
 
 La entrada del usuario es invisible. Sin embargo, hacer eco del mensaje muestra la contraseña:
 echo $password
  
 
 Tenga cuidado con este comportamiento cuando use read  en scripts que solicitan contraseñas. 
 Establecer límite de caracteres
 
 El comando de lectura ofrece dos opciones al limitar el número de caracteres para la entrada del usuario:
 
 1. Utilice el -n  y proporcione un número para establecer el límite de caracteres. Por ejemplo:
 read -n 3
  
 
 Pulsa Intro después de un carácter para finalizar el comando antes de alcanzar el límite de caracteres. Sin pulsar Intro , el comando sale automáticamente después de tres caracteres.
 
 2. Usa el -N  y proporcione un número para establecer el límite de caracteres mientras ignora el delimitador. Por ejemplo:
 read -N 3
  
 
 Pulsando Intro no finaliza el comando. Sin embargo, la pulsación de tecla cuenta como un carácter.
 Establecer tiempo de espera
 
 Establecer un tiempo de espera en read  para limitar el tiempo necesario para introducir texto:
 read -t 5
 
 El comando finaliza automáticamente después del límite de tiempo proporcionado.
 Arreglos
 
 En lugar de usar variables individuales para almacenar una cadena, agregue el -a  opción para guardar la entrada en una matriz. Por ejemplo:
 read -a array <<< "Hello world!"
 
 Recupere los elementos de la matriz con:
 echo ${array[0]}
echo ${array[1]}
  
 
 Alternativamente, use un bucle for para iterar a través de la matriz.
 Caracteres de escape y barras invertidas
 
 El read  El comando permite dividir entradas largas en varias líneas usando barras invertidas. Por ejemplo:
 read password prompt terminal output
 Hello \
world\
!
  
 
 Pulsando Intro después de la barra invertida no finaliza el comando y espera más información en la siguiente línea.
 
 Para ignorar la interpretación de la barra invertida, agregue -r opción:
 read -r <<< "Hello\world!"; echo $REPLY
  
 
 Use esta opción cuando analice rutas de archivos y cualquier texto donde la barra invertida tenga significado.