read – Read Variable Value from Keyboard

The read command in Linux is used to read a line from the standard input or from a specified file descriptor and store it in a variable. This command is mainly used to read user input and store it in a shell variable for further processing.

Overview

The syntax for the read command is as follows:

read [-options] [variable name]

Here, the -options are the various options that can be used with the read command, and the variable name is the name of the variable in which the input value is to be stored.

For example, to read a value from the user and store it in a variable called name, use the following command:

read name

This command will prompt the user to enter a value, and the value entered by the user will be stored in the name variable.

You can also use the read command to read multiple values from the user and store them in different variables. For example:

read name age city

This command will prompt the user to enter three values, which will be stored in the name, age, and city variables, respectively.

Examples

Let’s look at some examples of using the read command.

Example 1

#!/bin/bash

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

In this example, the user is prompted to enter their name, and the value entered by the user is stored in the name variable. The echo command is then used to display a greeting message with the user’s name.

Example 2

#!/bin/bash

echo "Enter your name, age, and city:"
read name age city
echo "Hello, $name! You are $age years old and you live in $city."

In this example, the user is prompted to enter three values, which are stored in the name, age, and city variables, respectively. The echo command is then used to display a message with the user’s name, age, and city.

Options

The read command supports the following options:

Option Description
-a array Read the input into an array
-d delimiter Use the specified delimiter instead of the newline character
-e Use readline to read the input
-i text Use the specified text as the default value
-n count Read only count characters
-p prompt Use the specified prompt instead of the default prompt
-r Do not interpret backslashes
-s Do not echo the input

Troubleshooting Tips

Here are some troubleshooting tips for using the read command:

  • Make sure to specify the correct variable name when using the read command. If the variable name is misspelled or not specified, the input value will not be stored in the correct variable.
  • If you are using the -p option to specify a custom prompt, make sure to enclose the prompt text in quotes to avoid issues with special characters.
  • If you are using the -n option to read a specific number of characters, make sure to specify a number that is less than or equal to the length of the input string. If the specified count is greater than the length of the input string, the read command will wait for more input.

Notes

  • The read command can be used in shell scripts to prompt the user for input and store the input in variables for further processing.
  • If the user enters multiple values separated by spaces, the read command will store each value in a separate variable.
  • The read command can be used with various options to customize its behavior, such as specifying a custom prompt or reading input into an array.