[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
documentation for ${!prefix*} is misleading
From: |
Greg Wooledge |
Subject: |
documentation for ${!prefix*} is misleading |
Date: |
Tue, 10 Aug 2010 09:49:39 -0400 |
User-agent: |
Mutt/1.4.2.3i |
The 4.1 man page says:
${!prefix*}
${!prefix@}
Names matching prefix. Expands to the names of variables whose
names begin with prefix, separated by the first character of the
IFS special variable. When @ is used and the expansion appears
within double quotes, each variable name expands to a separate
word.
Actually, the IFS rule only applies when the "${!prefix*}" is quoted.
imadev:~$ IFS='+x'
imadev:~$ echo ${!P*}
P4CLIENT PAGER PATH PIPESTATUS PKG_CONFIG_PATH PPID PS1 PS2 PS4 PWD
imadev:~$ echo "${!P*}"
P4CLIENT+PAGER+PATH+PIPESTATUS+PKG_CONFIG_PATH+PPID+PS1+PS2+PS4+PWD
Or, using a special script to see the arguments more clearly:
imadev:~$ args ${!P*}
10 args: <P4CLIENT> <PAGER> <PATH> <PIPESTATUS> <PKG_CONFIG_PATH> <PPID>
<PS1> <PS2> <PS4> <PWD>
imadev:~$ args "${!P*}"
1 args: <P4CLIENT+PAGER+PATH+PIPESTATUS+PKG_CONFIG_PATH+PPID+PS1+PS2+PS4+PWD>
I believe this is intended behavior (since it matches how $* works),
and that the man page is simply misleading.
- documentation for ${!prefix*} is misleading,
Greg Wooledge <=