No brace expansion for ash?

Rich Felker dalias at aerifal.cx
Mon Jul 11 01:03:54 UTC 2011


On Sun, Jul 10, 2011 at 06:23:55PM +0100, Chris Rees wrote:
> On 10 July 2011 11:04, Denys Vlasenko <vda.linux at googlemail.com> wrote:
> 
> So... do we need a separate ash and hush if ash doesn't need to be
> sh-compatible? I don't want to start a flamewar, but I think that
> portability is very important, and adding strange extensions means
> that people use code that breaks on other platforms, as you well know
> from the latest patches to gen_build.sh.
> 
> Can we still call it ash if it doesn't behave like ash?
> 
> Also, what about scripts that don't expect { to be a special
> character, what happens then?

This is why there's "set -B". The defautl in bash is to enable brace
expansion for interactive shells (where standards supposedly don't
matter) and disable it for non-interactive ones (e.g. running
scripts). But you can override it either way with "set -B" or "set +B".

Busybox ash/hush could do the same if anyone cares. Obviously neither
should break interpretation of scripts in the default config.

Rich


More information about the busybox mailing list