Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #11319 > unrolled thread
| Started by | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| First post | 2015-08-10 16:56 -0400 |
| Last post | 2015-08-10 16:56 -0400 |
| Articles | 1 — 1 participant |
Back to article view | Back to gnu.bash.bug
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
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
| From | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| Date | 2015-08-10 16:56 -0400 |
| Subject | Re: Enhancement: bash should have uniform escape syntaxes for `echo -e`, `printf` and `$'ANSI_C_style_escape'`. |
| Message-ID | <mailman.8095.1439240228.904.bug-bash@gnu.org> |
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 top | Article view | gnu.bash.bug
csiph-web