On 2/24/08, William Pitcock <[EMAIL PROTECTED]> wrote:
> On Sun, 2008-02-24 at 14:00 +0000, Ian Jackson wrote:
> > John H. Robinson, IV writes ("Re: dash bug which is affecting release
> goal"):
> > > Pierre Habouzit wrote:
> > > > echo() { /bin/echo "$@" }
> > >
> > > echo() { /bin/echo ${1+"$@"}; }
> > >
> > > I believe you mean.
> >
> > Why ?!
>
>
> Because stand-alone $@ is undefined when used in this case. By using ${1
> +"$@"}, it is ensured that $@ always starts with $1.
Expression ${1+"$@"} means "if $1 exists use "$@", otherwise nothing".
It's a workaround for a bug in some old bash version which erroneously
converted "$@" in case of empty command line into a single empty
argument. I think in new releases it isn't necessary to account for
this.
--
Sergei Golovan
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]