On Mon, Mar 14, 2011 at 04:03:45AM +0100, Heiko Baums wrote:
Am Sun, 13 Mar 2011 22:58:21 -0400 schrieb Dave Reisner <d@falconindy.com>:
Absolutely not. ${var} is identical to $var in every way except one:
$varfoo != ${var}foo
The curly braces otherwise provide zero differentiation in expansion rules when used in this fashion.
You're wrong again. ${variable} is the same as "$variable".
From `man bash`: ${parameter} The value of parameter is substituted. The braces are required when parameter is a positional parameter with more than one digit, or when parameter is followed by a character which is not to be interpreted as part of its name.
Heiko
I don't see how that absolves you from word splitting during expansion. Rather, it enforces the point I made about $varfoo versus ${var}foo. Since / is not a valid character in a variable name, the var name ends before it. How about you do a simple test? $ var="foo bar" $ touch ${var} How many files were created? Remember this is bash, not ZSH. dave