Hi, $ set -x; foo=bar declare arr=( {1..10} ) + foo=bar + declare 'a=(1)' 'a=(2)' 'a=(3)' 'a=(4)' 'a=(5)' $ touch xy=foo $ declare x[y]=* + declare 'x[y]=*' $ foo=bar declare x[y]=* + foo=bar + declare xy=foo
This isn't the same bug as the earlier a=([n]=*) issue. Each word (the entire assignment) is subject to globbing. "let", "eval", and possibly other builtins appear to randomly use this same kind of expansion regardless of whether they are preceded by an assignment, though I can't think of any uses for it. Arguments in this case are treated neither as ordinary assignments nor ordinary expansions. -- Dan Douglas