Date: Thu, 10 Jul 2008 17:04:39 +0200 From: Mel <fbsd.questions@rachie.is-a-geek.net> To: freebsd-questions@freebsd.org Cc: Anton Shterenlikht <mexas@bristol.ac.uk> Subject: Re: snippet of configure script - explain please Message-ID: <200807101704.40038.fbsd.questions@rachie.is-a-geek.net> In-Reply-To: <200807110018.43081.malcolm.kay@internode.on.net> References: <20080709172513.GA51206@mech-cluster238.men.bris.ac.uk> <200807101415.51455.fbsd.questions@rachie.is-a-geek.net> <200807110018.43081.malcolm.kay@internode.on.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 10 July 2008 16:48:42 Malcolm Kay wrote: > 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, Hmm, I'm not sure if the colon syntax came first. Autotools claims to create portable shell code, though they also claim to make software developer's lives easier. The person to ask would probably be Doug Barton, since he's capable of writing things in shell, "normal" people would jump to a "real" language ;) -- Mel Problem with today's modular software: they start with the modules and never get to the software part.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807101704.40038.fbsd.questions>