Content
Data
License: GNU GPLv3 +
Version number: GNU Bash 5
Developer / owner: Free Software Foundation Inc.
Short description:
The manual page and help for the built-in read Bash command. The read command reads one or more lines from standard input and inserts them into the specified variable.
Man page output
man read
[...]
read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t time-
out] [-u fd] [name ...]
One line is read from the standard input, or from the file descriptor fd supplied
as an argument to the -u option, split into words as described above under Word
Splitting, and the first word is assigned to the first name, the second word to the
second name, and so on. If there are more words than names, the remaining words
and their intervening delimiters are assigned to the last name. If there are fewer
words read from the input stream than names, the remaining names are assigned empty
values. The characters in IFS are used to split the line into words using the same
rules the shell uses for expansion (described above under Word Splitting). The
backslash character (\) may be used to remove any special meaning for the next
character read and for line continuation. Options, if supplied, have the following
meanings:
-a aname
The words are assigned to sequential indices of the array variable aname,
starting at 0. aname is unset before any new values are assigned. Other
name arguments are ignored.
-d delim
The first character of delim is used to terminate the input line, rather
than newline. If delim is the empty string, read will terminate a line when
it reads a NUL character.
-e If the standard input is coming from a terminal, readline (see READLINE
above) is used to obtain the line. Readline uses the current (or default,
if line editing was not previously active) editing settings, but uses Read-
line's default filename completion.
-i text
If readline is being used to read the line, text is placed into the editing
buffer before editing begins.
-n nchars
read returns after reading nchars characters rather than waiting for a com-
plete line of input, but honors a delimiter if fewer than nchars characters
are read before the delimiter.
-N nchars
read returns after reading exactly nchars characters rather than waiting for
a complete line of input, unless EOF is encountered or read times out. De-
limiter characters encountered in the input are not treated specially and do
not cause read to return until nchars characters are read. The result is
not split on the characters in IFS; the intent is that the variable is as-
signed exactly the characters read (with the exception of backslash; see the
-r option below).
-p prompt
Display prompt on standard error, without a trailing newline, before at-
tempting to read any input. The prompt is displayed only if input is coming
from a terminal.
-r 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
then be used as a line continuation.
-s 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 (or a
specified number of characters) is not read within timeout seconds. timeout
may be a decimal number with a fractional portion following the decimal
point. This option is only effective if read is reading input from a termi-
nal, pipe, or other special file; it has no effect when reading from regular
files. If read times out, read saves any partial input read into the speci-
fied variable name. If timeout is 0, read returns immediately, without try-
ing to read any data. The exit status is 0 if input is available on the
specified file descriptor, non-zero otherwise. The exit status is greater
than 128 if the timeout is exceeded.
-u fd Read input from file descriptor fd.
If no names are supplied, the line read is assigned to the variable REPLY. The
exit status is zero, unless end-of-file is encountered, read times out (in which
case the status is greater than 128), a variable assignment error (such as assign-
ing to a readonly variable) occurs, or an invalid file descriptor is supplied as
the argument to -u.
[...]
Help output
read --help
read: read [-ers] [-a tömb] [-d elválasztó] [-i szöveg] [-n szám] [-N szám] [-p prompt] [-t időkeret] [-u fd] [név ...]
Read a line from the standard input and split it into fields.
Reads a single line from the standard input, or from file descriptor FD
if the -u option is supplied. The line is split into fields as with word
splitting, and the first word is assigned to the first NAME, the second
word to the second NAME, and so on, with any leftover words assigned to
the last NAME. Only the characters found in $IFS are recognized as word
delimiters.
If no NAMEs are supplied, the line read is stored in the REPLY variable.
Options:
-a array assign the words read to sequential indices of the array
variable ARRAY, starting at zero
-d delim continue until the first character of DELIM is read, rather
than newline
-e use Readline to obtain the line
-i text use TEXT as the initial text for Readline
-n nchars return after reading NCHARS characters rather than waiting
for a newline, but honor a delimiter if fewer than
NCHARS characters are read before the delimiter
-N nchars return only after reading exactly NCHARS characters, unless
EOF is encountered or read times out, ignoring any
delimiter
-p prompt output the string PROMPT without a trailing newline before
attempting to read
-r do not allow backslashes to escape any characters
-s do not echo input coming from a terminal
-t timeout time out and return failure if a complete line of
input is not read within TIMEOUT seconds. The value of the
TMOUT variable is the default timeout. TIMEOUT may be a
fractional number. If TIMEOUT is 0, read returns
immediately, without trying to read any data, returning
success only if input is available on the specified
file descriptor. The exit status is greater than 128
if the timeout is exceeded
-u fd read from file descriptor FD instead of the standard input
Exit Status:
The return code is zero, unless end-of-file is encountered, read times out
(in which case it's greater than 128), a variable assignment error occurs,
or an invalid file descriptor is supplied as the argument to -u.
Related Content
- 38 views