shell parsing bug with &>

Michael Tokarev mjt at tls.msk.ru
Mon Sep 3 16:46:10 UTC 2012


On 03.09.2012 20:40, Rich Felker wrote:
> On Mon, Sep 03, 2012 at 12:58:37PM +0200, Denys Vlasenko wrote:
>> On Sun, Sep 2, 2012 at 11:21 PM, Rich Felker <dalias at aerifal.cx> wrote:
>>> It seems busybox ash is misinterpreting "&>" as having some special
>>> meaning rather than being a "&" token followed by a ">" token. I've
>>> filed a bug report:
>>>
>>> https://bugs.busybox.net/show_bug.cgi?id=5498
>>
>> Set CONFIG_ASH_BASH_COMPAT to "no" and it will stop doing that.
> 
> Indeed I tested and this fixes the problem. But all the other reasons
> to turn CONFIG_ASH_BASH_COMPAT off just seem to be minimizing binary
> size; I couldn't find any other extensions that conflict the
> interpreting of standards-conforming shell programs.

As far as I can see, this token -- "&>" -- has never been standard.
If you mean background and redirection, you must separate the two
with whitespace.  In that case it will be both standards-conforming
AND easier to read.  Without some space in between, it is a grey
area at best.

Thanks,

/mjt


More information about the busybox mailing list