Bash read: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 14: Line 14:


=Timeout=
=Timeout=
-t timeout
cause read to timeout and return failure if a complete line of input is not read within timeout seconds. This option only works if read is reading input from stdin or a pipe.


=Fixed Number of Characters=
=Fixed Number of Characters=

Revision as of 19:17, 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. The backslash character (\) may be used to remove any special meaning for the next character read and for line continuation.

If -p prompt option is used, read displays the specified 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.

Timeout

-t timeout

cause read to timeout and return failure if a complete line of input is not read within timeout seconds. This option only works if read is reading input from stdin or a pipe.

Fixed Number of Characters

-n nchars

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

Array Assignment

-a aname

If -a option is used, he 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.

Silent Mode

-s

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