I don't understand something the bash manual states about prefix parameter expansions.
The bash manual says this:
${!prefix*}
${!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.
When I execute this in a bash:
aaa=1
aab=2
aac=3
echo "${!aa@}"
The resulting output is this: aaa aab aac
That works as expected. However, the thing is that I get the same output when I use echo "${!aa*}", and I don't understand the difference.