for x (foo/*(:A)) print -r $x
Ou:
for x (foo/*) print -r $x:A
Embora neste caso:
print -rl foo/*(:A)
é o suficiente.
:A expande os links simbólicos. Você também pode usar :a , o que não é possível.
Digamos que eu execute o seguinte em /some/path :
for x in foo/*; do
print $x
done
Existe algum parâmetro que eu possa usar para dizer ao Zsh para imprimir, não apenas o nome do arquivo, mas o caminho absoluto completo para $x ? (sem codificar explicitamente /some/path na instrução print .
Você pode usar o a modificador de expansão do histórico em um qualificador de globo .
for x in foo/*; do
print -r $x(:a)
done
Com :A em vez de :a , os links simbólicos são expandidos.
Se você preceder o caminho para o padrão, $x expandirá para o caminho completo:
for x in /some/path/foo/*; do
print $x
done
Mas não tenho certeza se é exatamente isso que você está procurando?
Se você não quiser codificar /some/path e quiser que o código sempre procure no diretório atual, use $ PWD:
for x in $PWD/foo/*; do
print $x
done