read(2) - perldoc - phpman

Look up a command

 

Markdown Format | JSON API | MCP Server Tool


TLDR: read (tldr-pages)

Shell builtin for retrieving data from `stdin`.

  • Store data that you type from the keyboard
    read {{variable}}
  • Store each of the next lines you enter as values of an array
    read -a {{array}}
  • Specify the number of maximum characters to be read
    read -n {{character_count}} {{variable}}
  • Assign multiple values to multiple variables
    read <<< "{{The surname is Bond}}" {{_ variable1 _ variable2}}
  • Do not let backslash (`\`) act as an escape character
    read -r {{variable}}
  • Display a prompt before the input
    read -p "{{Enter your input here: }}" {{variable}}
  • Do not echo typed characters (silent mode)
    read -s {{variable}}
  • Read `stdin` and perform an action on every line
    cat {{/dev/stdin|path/to/file|...}} | while read line; do {{echo|ls|rm|...}} "$line"; done
    read FILEHANDLE,SCALAR,LENGTH,OFFSET
    read FILEHANDLE,SCALAR,LENGTH
            Attempts to read LENGTH *characters* of data into variable
            SCALAR from the specified FILEHANDLE. Returns the number of
            characters actually read, 0 at end of file, or undef if there
            was an error (in the latter case $! is also set). SCALAR will be
            grown or shrunk so that the last character actually read is the
            last character of the scalar after the read.

            An OFFSET may be specified to place the read data at some place
            in the string other than the beginning. A negative OFFSET
            specifies placement at that many characters counting backwards
            from the end of the string. A positive OFFSET greater than the
            length of SCALAR results in the string being padded to the
            required size with "\0" bytes before the result of the read is
            appended.

            The call is implemented in terms of either Perl's or your
            system's native fread(3) library function, via the PerlIO layers
            applied to the handle. To get a true read(2) system call, see
            sysread.

            Note the *characters*: depending on the status of the
            filehandle, either (8-bit) bytes or characters are read. By
            default, all filehandles operate on bytes, but for example if
            the filehandle has been opened with the ":utf8" I/O layer (see
            "open", and the open pragma), the I/O will operate on
            UTF8-encoded Unicode characters, not bytes. Similarly for the
            ":encoding" layer: in that case pretty much any characters can
            be read.


Generated by phpMan Author: Che Dong Under GNU General Public License
2026-06-02 18:22 @216.73.216.151 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!