Não analise a saída ls: link .
Além disso, neste exemplo você não precisa de um loop, apenas deixe ln
loop over args. cd
para o diretório em que você está criando os links simbólicos, se você quiser que os alvos de links simbólicos funcionem quando você usa caminhos relativos do diretório atual para gerá-los.
(cd /dir1 && ln -sf -- * /dir2) # make broken symlinks in dir2
(cd /dir2 && ln -sf -- ../dir1/* .) # make relative symlinks
ln -sf /dir1/* /dir2/ # make absolute symlinks
(subshell)
para evitar a alteração do diretório no shell atual.
Você também pode usar ln -sf -t /dir2 -- *
, o que é útil com find -exec ln -t /dir {} +
, porque find -exec {} +
só pode colocar a lista no final da linha de comando.
O GNU cp
também possui -l
e -s
opções para criar links físicos / simbólicos.