"local" is a shell reserved word, isn't it?

Cristian Ionescu-Idbohrn cristian.ionescu-idbohrn at axis.com
Mon Nov 22 17:55:07 UTC 2010


On Mon, 22 Nov 2010, Paul Smith wrote:
> On Mon, 2010-11-22 at 09:27 +0100, Bernd Petrovitsch wrote:
> > On Son, 2010-11-21 at 18:39 -0500, Paul Smith wrote:
> > > On Mon, 2010-11-22 at 00:25 +0100, Cristian Ionescu-Idbohrn wrote:
> > > > Different shells (ash, dash, bash) handle the above in an unexpected
> > > > way. I would have expected a consistent:
> > > >
> > > > foo: line 7: syntax error: bad function name
> > >
> > > "local" is not a reserved word in POSIX.  There is no "local" keyword or
> > > definition in the POSIX shell.
> >
> > In theory, it's not in POSIX. In practice, it's a keyword in bash. And
> > that's in the world today probably more important and relevant.
>
> I strongly disagree with your position here (there are still a LOT of
> systems out there that don't provide bash at all, and even more
> where /bin/sh is not bash, and to any portable environment THAT'S the
> most important and relevant fact).
>
> But, either way it doesn't change my answer since the question was why
> different shells don't all treat "local" as a reserved word.

And, maybe not so.  The question is:

	"local" is a shell reserved word, isn't it?

It does not say "other shells should treat 'local' as a reserved word",
does it?  It merily hints more at "those shell thet _do_ implement 'local'
might just as well do it right", doesn't it?


Cheers,

-- 
Cristian


More information about the busybox mailing list