snippet of configure script - explain please

Malcolm Kay malcolm.kay at internode.on.net
Thu Jul 10 14:48:46 UTC 2008


On Thu, 10 Jul 2008 09:45 pm, Mel wrote:
> On Thursday 10 July 2008 06:24:46 Malcolm Kay wrote:
> 
> > >    9255 if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; };
> > > then
> >
> > I find this line somewhat strange as I've not been able
> > to find documentation for the expansion of ${parameter+set} under the
> > Bourne shell. (nor bash, nor ksh)
> > *****************************************************
> > Presumably someone out there knows where to find it?
> > *****************************************************
> 
> It's shorthand for ${paramter:+set}, so if unset, you get "", otherwise you 
> get "set":
> $ echo ${foo+set}
> 
> $ echo ${HOME+set}
> set

So it appears; but is it stated anywhere that this shorthand is legitimate?
I find it quite frequently arising from the GNU configuring tools but
haven't found it elsewhere.

Is it a deliberate shorthand or just a consequence of the way sh and bash 
happen to have been programmed? In other words is it a safe shorthand?

Anyway thanks for the clarification,

Malcolm 

> 
> 


More information about the freebsd-questions mailing list