Bash read: Difference between revisions
Jump to navigation
Jump to search
(Created page with "=Internal= * bash =Overview=") |
|||
Line 4: | Line 4: | ||
=Overview= | =Overview= | ||
read [-p prompt] name name2 ... | |||
Read a line from the stdin or from the file descriptor specified with -u, and assign the first word to the variable associated with the first name, the second to the variable associated with the second name, and so on, with the leftover words and their intervening separators assigned to the variable associated with the last name. If there are fewer words than variable names, the variables associated with the remaining names are assigned empty values. | |||
The words are split using the [[Bash_Environment_Variables#IFS_and_read|IFS characters]]. | |||
read [-ers] [-t timeout] [-a aname] [-p prompt] [-n nchars] [-d | |||
delim] [name ...] | |||
The characters in IFS 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. Options, if supplied, have the fol- | |||
lowing 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. | |||
-e If the standard input is coming from a terminal, readline | |||
(see READLINE above) 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 on standard error, without a trailing new- | |||
line, before attempting 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 back- | |||
slash is considered to be part of the line. In particu- | |||
lar, a backslash-newline pair may not be used as a line | |||
continuation. | |||
-s Silent mode. If input is coming from a terminal, charac- | |||
ters 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. | |||
-u fd Read input from file descriptor fd. | |||
If no names are supplied, the line read is assigned to the vari- | |||
able REPLY. The return code is zero, unless end-of-file is | |||
encountered, read times out, or an invalid file descriptor is | |||
supplied as the argument to -u. | |||
=Timeout= |
Revision as of 19:09, 6 August 2017
Internal
Overview
read [-p prompt] name name2 ...
Read a line from the stdin or from the file descriptor specified with -u, and assign the first word to the variable associated with the first name, the second to the variable associated with the second name, and so on, with the leftover words and their intervening separators assigned to the variable associated with the last name. If there are fewer words than variable names, the variables associated with the remaining names are assigned empty values.
The words are split using the IFS characters.
read [-ers] [-t timeout] [-a aname] [-p prompt] [-n nchars] [-d delim] [name ...]
The characters in IFS 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. Options, if supplied, have the fol- lowing 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. -e If the standard input is coming from a terminal, readline (see READLINE above) 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 on standard error, without a trailing new- line, before attempting 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 back- slash is considered to be part of the line. In particu- lar, a backslash-newline pair may not be used as a line continuation. -s Silent mode. If input is coming from a terminal, charac- ters 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. -u fd Read input from file descriptor fd.
If no names are supplied, the line read is assigned to the vari- able REPLY. The return code is zero, unless end-of-file is encountered, read times out, or an invalid file descriptor is supplied as the argument to -u.