Comando read de Linux con ejemplos prácticos

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo usar el comando read en Linux para capturar la entrada del usuario y almacenarla en una variable. También aprenderás cómo validar la entrada del usuario utilizando el comando read. El laboratorio cubre el propósito y la sintaxis del comando read, cómo leer la entrada del usuario y almacenarla en una variable, y cómo validar la entrada del usuario.

El comando read es un comando incorporado en Linux y se utiliza comúnmente para la escritura de scripts interactivos de shell. Permite capturar la entrada del usuario y almacenarla en una variable, que luego se puede utilizar en tus scripts o programas.

Hoja de trucos de comandos de Linux


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/read("Input Reading") subgraph Lab Skills linux/echo -.-> lab-422880{{"Comando read de Linux con ejemplos prácticos"}} linux/read -.-> lab-422880{{"Comando read de Linux con ejemplos prácticos"}} end

Comprender el propósito y la sintaxis del comando read

En este paso, aprenderás sobre el propósito y la sintaxis del comando read en Linux. El comando read se utiliza para capturar la entrada del usuario y almacenarla en una variable.

La sintaxis básica del comando read es:

read [options] [variable_name]

Aquí, [options] son las opciones opcionales que puedes usar con el comando read, y [variable_name] es el nombre de la variable donde se almacenará la entrada del usuario.

Algunas opciones comunes para el comando read incluyen:

  • -p: Muestra un mensaje de solicitud antes de esperar la entrada del usuario.
  • -s: Suprime la visualización de la entrada del usuario.
  • -n: Lee solo el número especificado de caracteres.
  • -t: Especifica un tiempo de espera en segundos para la operación de lectura.

Ejemplo:

read -p "Enter your name: " name
echo "Hello, $name!"

Salida de ejemplo:

Enter your name: John
Hello, John!

En este ejemplo, el comando read solicita al usuario que ingrese su nombre, y la entrada se almacena en la variable name. Luego, el comando echo utiliza el valor de la variable name para mostrar un saludo.

Leer la entrada del usuario y almacenarla en una variable

En este paso, aprenderás cómo usar el comando read para capturar la entrada del usuario y almacenarla en una variable.

Para leer la entrada del usuario y almacenarla en una variable, puedes usar la siguiente sintaxis:

read variable_name

Aquí, variable_name es el nombre de la variable donde se almacenará la entrada del usuario.

Ejemplo:

echo "What is your favorite color?"
read favorite_color
echo "Your favorite color is $favorite_color."

Salida de ejemplo:

What is your favorite color?
blue
Your favorite color is blue.

En este ejemplo, se solicita al usuario que ingrese su color favorito, y la entrada se almacena en la variable favorite_color. Luego, el comando echo utiliza el valor de la variable favorite_color para mostrar un mensaje.

También puedes usar la opción -p con el comando read para mostrar un mensaje de solicitud al usuario:

read -p "Enter your age: " age
echo "You are $age years old."

Salida de ejemplo:

Enter your age: 30
You are 30 years old.

En este ejemplo, se utiliza la opción -p para mostrar el mensaje de solicitud "Enter your age: " antes de esperar la entrada del usuario, y la entrada se almacena en la variable age.

Validar la entrada del usuario con el comando read

En este paso, aprenderás cómo usar el comando read para validar la entrada del usuario.

Una forma común de validar la entrada del usuario es utilizar un bucle while con el comando read. Esto te permite seguir solicitando al usuario una entrada hasta que proporcione una respuesta válida.

Ejemplo:

while true; do
    read -p "Enter a number between 1 and 10: " num
    if [[ "$num" -ge 1 && "$num" -le 10 ]]; then
        echo "You entered: $num"
        break
    else
        echo "Invalid input. Please try again."
    fi
done

Salida de ejemplo:

Enter a number between 1 and 10: 15
Invalid input. Please try again.
Enter a number between 1 and 10: 7
You entered: 7

En este ejemplo, el comando read se utiliza dentro de un bucle while para solicitar continuamente al usuario una entrada hasta que ingrese un número entre 1 y 10. La declaración if verifica la entrada del usuario, y si es válida, se sale del bucle utilizando el comando break. Si la entrada es inválida, se muestra un mensaje de error y el bucle continúa.

También puedes usar el comando read con la opción -n para limitar el número de caracteres que el usuario puede ingresar, o la opción -t para establecer un tiempo de espera para la entrada.

Ejemplo:

read -n 1 -p "Enter 'y' or 'n': " answer
echo "You entered: $answer"

Salida de ejemplo:

Enter 'y' or 'n': y
You entered: y

En este ejemplo, la opción -n 1 limita la entrada del usuario a un solo carácter, y la opción -p muestra un mensaje de solicitud.

Resumen

En este laboratorio, aprendiste sobre el propósito y la sintaxis del comando read en Linux, que se utiliza para capturar la entrada del usuario y almacenarla en una variable. También aprendiste cómo leer la entrada del usuario y almacenarla en una variable, así como cómo usar la opción -p para mostrar un mensaje de solicitud al usuario. Finalmente, aprendiste cómo validar la entrada del usuario utilizando el comando read.

El comando read tiene varias opciones opcionales, como -p para mostrar un mensaje de solicitud, -s para suprimir la visualización de la entrada del usuario, -n para leer solo un número especificado de caracteres y -t para especificar un tiempo de espera para la operación de lectura. Puedes usar estas opciones para personalizar el comportamiento del comando read según tus necesidades.

Hoja de trucos de comandos de Linux