daniel wrote:
> The info and manpage for echo suggest that the argument is displayed 
> verbatim, unless -e is used, in which case escape sequences are recognized.
> Actually, escaping seems to be now the default, with -E used to disable 
> it, and -e doing nothing, for backwards compatibility.

Thank you for your report.  However I think there is confusion here.

Please verify which 'echo' you are using.  As I am sure you are aware
the 'echo' command is a built-in to most shells in addition to being a
standalone utility of coreutils.  In bash you will get the following:

  type echo
  echo is a shell builtin

I cannot reproduce your problem with either the current bash or with
the current coreutils.  Therefore I assume you are actually running a
built-in 'echo' from your command line shell and that your shell is
not bash.  Correct?

  echo "one\ttwo"
  one\ttwo

  /bin/echo "one\ttwo"
  one\ttwo

  echo -e "one\ttwo"
  one     two

  /bin/echo -e "one\ttwo"
  one     two

  /bin/echo --version
  echo (GNU coreutils) 5.2.1

Note that /bin/ash and /bin/dash both interpret escape sequences by
default to conform to POSIX.  If you are using either of those then
that behavior is expected.  They are more strict POSIX conforming
shells than bash.  POSIX requires echo to interpret escape sequences
by default.  But bash (and coreutils for compatibility with bash) do
not.

In general for improved portability if you are using escape sequences
then I recommend using 'printf' instead.  That is a standard command
and more portably used than echo with regards to escape sequences.

Bob

-- 
Bob Proulx <[EMAIL PROTECTED]>
http://www.proulx.com/~bob/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to