Não funciona porque, em zsh
, globbing não é feito por padrão na expansão da variável. Por que, em zsh
, você pode fazer:
rm -- $file
Enquanto em outros shells, você precisa:
rm -- "$file"
Se você quer globbing, você precisa perguntar explicitamente como em:
rm -- $~file
No seu caso:
for f (*($~EXT)) process-one-file $f
(observe que, por convenção, tendemos a usar nomes de variáveis maiúsculas para variáveis de ambiente)