Este recurso do ZSH (presumo) é usado em uma resposta Sintaxe ZSH para dividir uma string usando vários caracteres como delimitadores
Ou você poderia usar a divisão IFS com $=var:
IFS=.- parts=( $=file )
Você pode apontar o nome desta construção na documentação do ZSH?
Para o significado de
IFS
: “ Índice de variáveis ” → “IFS
”, “IFS
, uso de ”, “IFS
, uso de ”, “IFS
, uso de ”.O primeiro link “use of” aponta para a documentação do
$=NAME
, que é um pouco mais difícil de encontrar se você não estiver acostumado com a sintaxe zsh.$
inicia a expansão dos parâmetros . A expansão de parâmetros pode assumir diversas formas, incluindo . A parte pode ser um nome de parâmetro ou um nome de parâmetro com um dos vários sufixos para fazer remoção de prefixo/sufixo, substituição de padrão, injeção de valor padrão, etc., o que é documentado de uma forma não muito clara na primeira vez que a metavariável aparece (em a documentação de ). Além disso, as chaves são opcionais quando é apenas um nome de parâmetro, que é mencionado na documentação de e na documentação de, mas também se aplica a e tal.${=spec}
spec
spec
${#spec}
spec
${name}
${#spec}
${=spec}
Se você estiver perguntando sobre
$=file
a atribuição de arrayparts=( ... )
, ela está documentada na seção Expansão de Parâmetros (ou equivalentemente emman zshexpn
), começando na subseção que inicia${#spec}
A forma "nua"
$=spec
é explicada em${#spec}
: