Esta é uma das expansões de parâmetros do Zsh aqui aplicada a $*
:
${=spec}
Perform word splitting using the rules for SH_WORD_SPLIT during the evaluation of spec, but regardless of whether the parameter appears in double quotes; if the ‘=’ is doubled, turn it off. This forces parameter expansions to be split into separate words before substitution, using IFS as a delimiter. This is done by default in most other shells.
Veja a resposta detalhada de Gilles a O que é a divisão de palavras? Por que é importante na programação de shell para o contexto.
Normalmente, zsh
não faz divisão de palavras por padrão, então, presumivelmente, isso é para garantir que $*
não seja dividido mesmo quando a opção SH_WORD_SPLIT
tiver sido ativada de uma forma ou de outra (por exemplo, por meio de emulate sh
).
No entanto, na maioria dos casos, você preferiria usar "$@"
(observe as aspas importantes aqui) em vez de $==*
. $==*
(como $*
quando SH_WORD_SPLIT
está desativado) expande apenas para os parâmetros posicionais não vazios , enquanto "$@"
expande para todos os parâmetros posicionais (independentemente de SH_WORD_SPLIT
e que funciona em todos os shells parecidos com Bourne).