Posted On 2007-05-22 by FortyPoundHead
Keywords: Command Reference
Tags: Linux Commandline Linux
Views: 1550

Read a line from standard input


read [-ers] [-a aname] [-p prompt] [-t timeout]
[-n nchars] [-d delim] [name...]


-a aname
The words are assigned to sequential indices of the array variable aname,
starting at 0. All elements are removed from aname before the assignment.
Other name arguments are ignored.

-d delim
The first character of delim is used to terminate the input line,
rather than newline.

If the standard input is coming from a terminal, Readline is used
to obtain the line.

-n nchars
read returns after reading nchars characters rather
than waiting for a complete line of input.

-p prompt
Display prompt, without a trailing newline, before attempting
to read any input. The prompt is displayed only if input is coming from a

If this option is given, backslash does not act as an escape character.
The backslash is considered to be part of the line. In particular, a backslash-newline
pair may not be used as a line continuation.

Silent mode. If input is coming from a terminal, characters are not echoed.

-t timeout
Cause read to time out and return failure if a complete line
of input is not read within timeout seconds. This option has no
effect if read is not reading input from the terminal or a pipe.This is a BASH shell builtin.

One line is read from the standard input, and the first word is assigned to the first name, the second word to the second name, and so on, with leftover words and their intervening separators assigned to the last name.

If there are fewer words read from the standard input than names, the remaining names are assigned empty values.

The characters in the value of the IFS variable are used to split the line into words.

The backslash character `\'' may be used to remove any special meaning for the next character read and for line continuation.

If no names are supplied, the line read is assigned to the variable REPLY. The return code is zero, unless end-of-file is encountered or read times out.


read var_year
echo "The year is: $var_year"

echo -n "Enter your name and press [ENTER]: "
read var_name
echo "Your name is: $var_name"

About the Author

FortyPoundHead has posted a total of 1974 articles.

Comments On This Post

No comments on this post yet!

Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.

Your IP address is:

Before you can post, you need to prove you are human. If you log in, this test goes away.

Code Links