Provided by: manpages-posix_2.16-1_all bug

NAME

       echo - write arguments to standard output

SYNOPSIS

       echo [string ...]

DESCRIPTION

       The  echo  utility  writes  its  arguments to standard output, followed by a <newline>. If
       there are no arguments, only the <newline> is written.

OPTIONS

       The echo utility shall not  recognize  the  "--"  argument  in  the  manner  specified  by
       Guideline 10 of the Base Definitions volume of IEEE Std 1003.1-2001, Section 12.2, Utility
       Syntax Guidelines; "--" shall be recognized as a string operand.

       Implementations shall not support any options.

OPERANDS

       The following operands shall be supported:

       string A string to be written to standard output. If the first operand is -n, or if any of
              the operands contain a backslash ( '\' ) character, the results are implementation-
              defined.

       On XSI-conformant systems, if the first operand is -n, it shall be treated  as  a  string,
       not  an  option.  The  following character sequences shall be recognized on XSI-conformant
       systems within any of the arguments:

       \a
              Write an <alert>.

       \b
              Write a <backspace>.

       \c
              Suppress the <newline> that otherwise follows the final argument in the output. All
              characters following the '\c' in the arguments shall be ignored.

       \f
              Write a <form-feed>.

       \n
              Write a <newline>.

       \r
              Write a <carriage-return>.

       \t
              Write a <tab>.

       \v
              Write a <vertical-tab>.

       \\
              Write a backslash character.

       \0num
              Write an 8-bit value that is the zero, one, two, or three-digit octal number num.

STDIN

       Not used.

INPUT FILES

       None.

ENVIRONMENT VARIABLES

       The following environment variables shall affect the execution of echo:

       LANG   Provide  a  default  value for the internationalization variables that are unset or
              null. (See the  Base  Definitions  volume  of  IEEE Std 1003.1-2001,  Section  8.2,
              Internationalization Variables for the precedence of internationalization variables
              used to determine the values of locale categories.)

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

       LC_CTYPE
              Determine  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).

       LC_MESSAGES
              Determine  the  locale  that  should  be  used to affect the format and contents of
              diagnostic messages written to standard error.

       NLSPATH
              Determine the location of message catalogs for the processing of LC_MESSAGES .

ASYNCHRONOUS EVENTS

       Default.

STDOUT

       The echo utility arguments shall be separated by single <space>s  and  a  <newline>  shall
       follow  the  last  argument.     Output  transformations  shall  occur based on the escape
       sequences in the input. See the OPERANDS section.

STDERR

       The standard error shall be used only for diagnostic messages.

OUTPUT FILES

       None.

EXTENDED DESCRIPTION

       None.

EXIT STATUS

       The following exit values shall be returned:

        0     Successful completion.

       >0     An error occurred.

CONSEQUENCES OF ERRORS

       Default.

       The following sections are informative.

APPLICATION USAGE

       It is not possible to use echo portably across all POSIX systems unless both  -n  (as  the
       first argument) and escape sequences are omitted.

       The printf utility can be used portably to emulate any of the traditional behaviors of the
       echo utility as follows (assuming that IFS has its standard value or is unset):

        * The historic System V echo and the requirements on XSI implementations in  this  volume
          of IEEE Std 1003.1-2001 are equivalent to:

          printf "%b\n" "$*"

        * The BSD echo is equivalent to:

          if [ "X$1" = "X-n" ]
          then
              shift
              printf "%s" "$*"
          else
              printf "%s\n" "$*"
          fi

       New applications are encouraged to use printf instead of echo.

EXAMPLES

       None.

RATIONALE

       The  echo utility has not been made obsolescent because of its extremely widespread use in
       historical applications.  Conforming  applications  that  wish  to  do  prompting  without
       <newline>s or that could possibly be expecting to echo a -n, should use the printf utility
       derived from the Ninth Edition system.

       As specified, echo writes its arguments in  the  simplest  of  ways.   The  two  different
       historical versions of echo vary in fatally incompatible ways.

       The  BSD  echo checks the first argument for the string -n which causes it to suppress the
       <newline> that would otherwise follow the final argument in the output.

       The System V echo does not support any options, but allows  escape  sequences  within  its
       operands, as described for XSI implementations in the OPERANDS section.

       The  echo  utility  does  not  support  Utility  Syntax  Guideline  10  because historical
       applications depend on echo to echo all of its arguments, except for the -n option in  the
       BSD version.

FUTURE DIRECTIONS

       None.

SEE ALSO

       printf

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information Technology  --  Portable  Operating  System
       Interface  (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
       the Institute of Electrical and Electronics Engineers, Inc and  The  Open  Group.  In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .