Linda Walsh wrote:
The manpages for "my" bash's (3.1.11 on Linux and 3.1.17 on cygwin/i686),
under Parameter Expansion, say:
${!prefix*}
[EMAIL PROTECTED]
Expands to the names of variables whose names begin with prefix,
separated by the first character of the IFS special variable.
[snip]
output:
* = UID USER # (line 1)
@ = UID USER # (line 2)
"*" = UID<USER # (line 3)
"@" = UID USER # (line 4)
---
QUESTIONS continued...
- If the two forms are supposed to be identical, why aren't lines
3 & 4 the same?
- Why do the quotes in line 3 make for different output than in line
Why aren't the 4 lines identical?
I would assume that this works the same as other uses of * and @; if you
quote them, * expands to a single Word, while @ expands to a Word for
each logical element (so that any spaces in each element are preserved).
Similar to how if your argv is 'foo' 'bar none', "$*" gives the single
Word 'foo bar none' and "$@" gives { 'foo', 'bar none' }.
IOW this looks like the doc maybe should mention this and fails to do so.
--
Matthew
"Try to bring it back in one piece this time." -- Q (MI6)
_______________________________________________
Bug-bash mailing list
Bug-bash@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-bash