Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Apropos / Subsearch:
optional field

read(1)                          User Commands                         read(1)

       read - read a line from standard input

       /usr/bin/read [-r] var...

       read name...

       set variable = $<

       read [ -prsu [n]] [ name ? prompt] [name...]

       The read utility will read a single line from standard input.

       By default, unless the -r option is specified, backslash (\) acts as an
       escape character. If standard input is a terminal device and the invok-
       ing  shell  is  interactive,  read  will prompt for a continuation line

         o  The shell reads an input line ending with a backslash, unless  the
            -r option is specified.

         o  A  here-document  is  not  terminated after a NEWLINE character is

       The line will be split into fields as in the  shell.  The  first  field
       will  be  assigned  to  the first variable var, the second field to the
       second variable var, and so forth. If  there  are  fewer  var  operands
       specified  than  there are fields, the leftover fields and their inter-
       vening separators will be assigned to the last var. If there are  fewer
       fields than vars, the remaining vars will be set to empty strings.

       The  setting of variables specified by the var operands will affect the
       current shell execution environment. If it is called in a  subshell  or
       separate utility execution environment, such as one of the following:

       (read foo)
       nohup read ...
       find . -exec read ... \;

       it will not affect the shell variables in the caller's environment.

       The standard input must be a text file.

       One  line is read from the standard input and, using the internal field
       separator, IFS (normally space or tab), to delimit word boundaries, the
       first word is assigned to the first name, the second word to the second
       name, and so on, with leftover words assigned to the last  name.  Lines
       can  be  continued using \newline. Characters other than NEWLINE can be
       quoted by preceding  them  with  a  backslash.  These  backslashes  are
       removed  before  words  are assigned to names, and no interpretation is
       done on the character that follows the backslash. The return code is 0,
       unless an end-of-file is encountered.

       The notation:

       set variable = $<&lt;

       loads  one  line  of  standard  input  as  the value for variable. (See

       The shell input mechanism. One line is  read  and  is  broken  up  into
       fields using the characters in IFS as separators. The escape character,
       (\), is used to remove any special meaning for the next  character  and
       for  line continuation. In raw mode, -r, the \ character is not treated
       specially. The first field is assigned to the first  name,  the  second
       field  to  the second name, and so on, with leftover fields assigned to
       the last name. The -p option causes the input line to be taken from the
       input  pipe  of a process spawned by the shell using |&&amp;. If the -s flag
       is present, the input will be saved as a command in the  history  file.
       The  flag  -u can be used to specify a one digit file descriptor unit n
       to read from.  The file descriptor can be opened with the exec  special
       command. The default value of n is 0. If name is omitted, REPLY is used
       as the default name. The exit status is 0 unless the input file is  not
       open  for reading or an end-of-file is encountered. An end-of-file with
       the -p option causes cleanup for this process so that  another  can  be
       spawned.   If  the  first  argument contains a ?, the remainder of this
       word is used as a prompt on standard error when the shell  is  interac-
       tive. The exit status is 0 unless an end-of-file is encountered.

       The following option is supported:

       -r       Does  not treat a backslash character in any special way. Con-
                siders each backslash to be part of the input line.

       The following operand is supported:

       var      The name of an existing or non-existing shell variable.

       Example 1: An example of the read command

       The following example for /usr/bin/read prints a file  with  the  first
       field of each line moved to the end of the line:

       example% while read -r xx yy
               printf "%s %s\n" "$yy" "$xx"
       done <&lt; input_file

       See  environ(5) for descriptions of the following environment variables
       that affect the execution of read: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES,
       and NLSPATH.

       IFS      Determines  the  internal  field  separators  used  to delimit

       PS2      Provides the prompt string  that  an  interactive  shell  will
                write to standard error when a line ending with a backslash is
                read and the -r option was not specified, or if  a  here-docu-
                ment is not terminated after a newline character is entered.

       The following exit values are returned:

       0        Successful completion.

       >&gt;0       End-of-file was detected or an error occurred.

       See attributes(5) for descriptions of the following attributes:

       tab()     allbox;     cw(2.750000i)|    cw(2.750000i)    lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE  TYPEATTRIBUTE   VALUE   AvailabilitySUNWcsu
       Interface StabilityStandard

       csh(1),  ksh(1),  line(1),  set(1),  sh(1),  attributes(5), environ(5),

SunOS 5.10                        28 Mar 1995                          read(1)