Se você criar y
uma matriz, o parâmetro $x
get será expandido:
$ x=foo*
$ y=($~x)
$ print -l $y
foo1
foo2
Se você quiser uma única string, junte os valores da matriz com espaços em branco:
$ ys=${(j: :)y}
$ print -l $ys
foo1 foo2
Em zsh, tenho um padrão glob em uma variável e desejo definir outra variável que execute a geração de nome de arquivo nesse padrão. Existe uma maneira de fazer isso sem gerar um subshell?
O seguinte não funciona:
x=foo*
y=$~x
Obviamente eu posso fazer
x=foo*
y=$(echo $~x)
e o comportamento de completação normal entra em ação. Mas o objetivo dessa questão é evitar gerar uma subcamada, o que parece ser desnecessário.
Esta questão não obteve respostas nos últimos dias no stackoverflow.com, por isso pensei em tentar perguntar aqui.