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