manpagez: man pages & more
info coreutils
Home | html | info | man

File: coreutils.info,  Node: echo invocation,  Next: printf invocation,  Up: Printing text

15.1 ‘echo’: Print a line of text
=================================

‘echo’ writes each given STRING to standard output, with a space between
each and a newline after the last one.  Synopsis:

     echo [OPTION]... [STRING]...

   Due to shell aliases and built-in ‘echo’ functions, using an
unadorned ‘echo’ interactively or in a script may get you different
functionality than that described here.  Invoke it via ‘env’ (i.e., ‘env
echo ...’) to avoid interference from the shell.

   Due to historical and backwards compatibility reasons, certain bare
option-like strings cannot be passed to ‘echo’ as non-option arguments.
It is therefore not advisable to use ‘echo’ for printing unknown or
variable arguments.  The ‘printf’ command is recommended as a more
portable and flexible replacement for tasks historically performed by
‘echo’.  *Note printf invocation::.

   The program accepts the following options.  Also see *note Common
options::.  Options must precede operands, and the normally-special
argument ‘--’ has no special meaning and is treated like any other
STRING.

‘-n’
     Do not output the trailing newline.

‘-e’
     Enable interpretation of the following backslash-escaped characters
     in each STRING:

     ‘\a’
          alert (bell)
     ‘\b’
          backspace
     ‘\c’
          produce no further output
     ‘\e’
          escape
     ‘\f’
          form feed
     ‘\n’
          newline
     ‘\r’
          carriage return
     ‘\t’
          horizontal tab
     ‘\v’
          vertical tab
     ‘\\’
          backslash
     ‘\0NNN’
          the eight-bit value that is the octal number NNN (zero to
          three octal digits), if NNN is a nine-bit value, the ninth bit
          is ignored
     ‘\NNN’
          the eight-bit value that is the octal number NNN (one to three
          octal digits), if NNN is a nine-bit value, the ninth bit is
          ignored
     ‘\xHH’
          the eight-bit value that is the hexadecimal number HH (one or
          two hexadecimal digits)

‘-E’
     Disable interpretation of backslash escapes in each STRING.  This
     is the default.  If ‘-e’ and ‘-E’ are both specified, the last one
     given takes effect.

   If the ‘POSIXLY_CORRECT’ environment variable is set, then when
‘echo’’s first argument is not ‘-n’ it outputs option-like arguments
instead of treating them as options.  For example, ‘echo -ne hello’
outputs ‘-ne hello’ instead of plain ‘hello’.  Also backslash escapes
are always enabled.  Note to echo the string ‘-n’, one of the characters
can be escaped in either octal or hexadecimal representation.  For
example, ‘echo -e '\x2dn'’.

   POSIX does not require support for any options, and says that the
behavior of ‘echo’ is implementation-defined if any STRING contains a
backslash or if the first argument is ‘-n’.  Portable programs should
use the ‘printf’ command instead.  *Note printf invocation::.

   An exit status of zero indicates success, and a nonzero value
indicates failure.

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.