excess braces ignored: bug or feature ?
can't tell if this is a bug or a feature. FOO= BAR=bar : ${FOO:=${BAR} echo $FOO i'd expect an error, or FOO to contain those excess braces. instead, FOO is just "bar". -mike signature.asc Description: This is a digitally signed message part.
Re: excess braces ignored: bug or feature ?
On Fri, Feb 17, 2012 at 02:51:27PM -0500, Mike Frysinger wrote: > can't tell if this is a bug or a feature. > > FOO= BAR=bar > : ${FOO:=${BAR} > echo $FOO > > i'd expect an error, or FOO to contain those excess braces. instead, FOO is > just "bar". imadev:~$ : ${FOO:=BAR} imadev:~$ echo "$FOO" BAR It looks OK to me. You've got an argument word which happens to contain a substitution-with-side-effects as part of it.
Re: excess braces ignored: bug or feature ?
Greg Wooledge wrote: > Mike Frysinger wrote: > > can't tell if this is a bug or a feature. > > > > FOO= BAR=bar > > : ${FOO:=${BAR} > > echo $FOO > > > > i'd expect an error, or FOO to contain those excess braces. instead, FOO > > is > > just "bar". > > imadev:~$ : ${FOO:=BAR} > imadev:~$ echo "$FOO" > BAR > > It looks OK to me. You've got an argument word which happens to contain > a substitution-with-side-effects as part of it. Or slightly differently expressed it is this too: $ echo ${FOO:=BAR} BAR $ echo ${FOO:=BAR} BAR $ echo ${FOO:=${BAR} }}} Seems reasonable to me. In that context the bracket isn't special in any way and is just another character in the string. Just like this: $ echo Bob
Re: excess braces ignored: bug or feature ?
On Friday, February 17, 2012 02:51:27 PM Mike Frysinger wrote: > can't tell if this is a bug or a feature. > > FOO= BAR=bar > > : ${FOO:=${BAR} > > echo $FOO > > i'd expect an error, or FOO to contain those excess braces. instead, FOO is > just "bar". > -mike My favorite is probably the parser ignoring any valid redirection syntax with the special command substitutions. ~ $ { echo "$({} signature.asc Description: This is a digitally signed message part.