Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #11319

Re: Enhancement: bash should have uniform escape syntaxes for `echo -e`, `printf` and `$'ANSI_C_style_escape'`.

Path csiph.com!optima2.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!usenet.stanford.edu!not-for-mail
From Chet Ramey <chet.ramey@case.edu>
Newsgroups gnu.bash.bug
Subject Re: Enhancement: bash should have uniform escape syntaxes for `echo -e`, `printf` and `$'ANSI_C_style_escape'`.
Date Mon, 10 Aug 2015 16:56:52 -0400
Lines 35
Approved bug-bash@gnu.org
Message-ID <mailman.8095.1439240228.904.bug-bash@gnu.org> (permalink)
References <523431b6.2c9.14f18e12b67.Coremail.arthur200126@163.com>
Reply-To chet.ramey@case.edu
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 7bit
X-Trace usenet.stanford.edu 1439240228 24658 208.118.235.17 (10 Aug 2015 20:57:08 GMT)
X-Complaints-To action@cs.stanford.edu
Cc chet.ramey@case.edu
To Arthur200000 <arthur200126@163.com>, "bug-bash@gnu.org" <bug-bash@gnu.org>
Envelope-to bug-bash@gnu.org
X-Enigmail-Draft-Status N1110
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.0.1
In-Reply-To <523431b6.2c9.14f18e12b67.Coremail.arthur200126@163.com>
X-Junkmail-Status score=10/50, host=mpv5.cwru.edu
X-Junkmail-Whitelist YES (by domain whitelist at mpv2.tis.cwru.edu)
X-detected-operating-system by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic]
X-Received-From 129.22.105.37
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.14
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <http://lists.gnu.org/archive/html/bug-bash>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
Xref csiph.com gnu.bash.bug:11319

Show key headers only | View raw


On 8/10/15 2:30 PM, Arthur200000 wrote:
> Bash Version: 4.3
> Patch Level: 30
> Release Status: release
> 
> Description:
> 	Bash has different escape syntaxes for `echo -e`, `printf` and `$'ANSI_C_style_escape'`. Take a specific point, `printf` and `$'C_Style'` accepts octals not starting with 0, but `echo -e` doesn't. 
> 	This is causing quite a lot of confusion.

They are different because they are supposed to be different according
to the relevant standards.

echo -e and the xpg_echo shell option expand the escape sequences that
Posix specifies:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html#tag_20_37
with the addition of \e, \E, and \xHH.  Posix requires the leading 0.

printf expands the escape sequences that Posix specifies:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html#tag_20_94

(note that printf %b is supposed to behave like echo)

The $'...' string expansion behaves like ANSI-C, which just uses one to
three octal digits for octal numbers.  It adds support for \e and \E, as
well as \c.  There is a proposal to add this to the next version of Posix
which retains this behavior.

(And as for Apple's bash-3.2, they modified bash to behave as it does.
Bash-3.2 as distributed understands \e in the echo format string.)

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
		 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    chet@case.edu    http://cnswww.cns.cwru.edu/~chet/

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

Re: Enhancement: bash should have uniform escape syntaxes for `echo -e`, `printf` and `$'ANSI_C_style_escape'`. Chet Ramey <chet.ramey@case.edu> - 2015-08-10 16:56 -0400

csiph-web