Backslashed escape sequences

Marc W. Abel me at marcabel.com
Sun Sep 21 16:32:15 UTC 2008


Thanks to everyone participating in this discussion.  I really like all
this attention to detail.

Program            \e == \033 ?
---------------------------------------
bash echo          yes
bash printf        yes
coreutils echo     no
coreutils printf   no

I'm not sure (vda) how you'll adopt "their" behavior, as "they" differ.
It comes down to scope; I don't think BusyBox has ever adopted bash as a
standard to follow, but it does try to follow coreutils reasonably
closely.  This weighs against my suggestion to include \e, but I can try
to live with \033 when portability needs to be considered. 

(I think ANSI should have included "\e" to to mean "\033" all the way
back in C89, but they didn't, and now their mess has leaked over
other programs everywhere.)

Dr. Hughes - Your suggestion is interesting and portable, but only to a
point.  /bin/echo will be available in single-user mode and on smaller
systems, but /usr/bin/printf might be unavailable.

Marc



On Sat, Sep 20, 2008 at 06:51:51PM +0200, Denys Vlasenko wrote:
> Can you push bash and coreutils (echo and prints utilities in particular)
> to decide what is the right thing to do?
> 
> busybox will then just adopt their behavior.



More information about the busybox mailing list