Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Apropos / Subsearch:
optional field

read(1)								      read(1)


  read - Reads a line from standard input


  read [-r] var...


  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  read:	 XCU5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.


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


	 The -r	option is included to enable read to subsume the purpose of
	 the obsolete line utility.


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


  The read utility reads 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 invoking
  shell	is interactive,	read prompts for a continuation	line in	the following

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

    +  A here-document is not terminated after a newline character is

  The line is split into fields	as in the shell	(see the sh(1) reference
  page); the first field is assigned to	the first variable var,	the second
  field	to the second variable var, and	so forth.  If there are	fewer var
  parameters specified than there are fields, the leftover fields and their
  intervening separators are assigned to the last var.	If there are fewer
  fields than vars, the	remaining vars are set to empty	strings.

  The setting of variables specified by	the var	parameters affects the
  current shell	execution environment.	If read	is called in a subshell	or
  separate utility execution environment, such as one of the following,	it
  does not affect the shell variables in the caller's environment:

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


  The -r option	is included to enable read to subsume the purpose of the
  obsolete line	utility.


  The results are undefined if an end-of-file is detected following a
  backslash at the end of a line when -r is not	specified.


  The following	exit values are	returned:

  0   Successful completion.

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


  The following	command	prints a file with the first field of each line	moved
  to the end of	the line:

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


  The following	environment variables affect the execution of read:

  IFS Determines the internal field separators used to delimit fields.

      Provides a default value for the internationalization variables that
      are unset	or null.  If LANG is unset or null, the	corresponding value
      from the default locale is used.	If any of the internationalization
      variables	contain	an invalid setting, the	utility	behaves	as if none of
      the variables had	been defined.

      If set to	a non-empty string value, overrides the	values of all the
      other internationalization variables.

      Determines the locale for	the interpretation of sequences	of bytes of
      text data	as characters (for example, single-byte	as opposed to multi-
      byte characters in arguments).

      Determines the locale used to affect the format and contents of diag-
      nostic messages written to standard error.

      Determines the location of message catalogues for	the processing of

  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-document is not terminated	after
      a	newline	character is entered.


  Commands:  line(1)

  Functions:  fread(3)

  Standards:  standards(5)