Pseudocódigo
ln -s $HOME/file $HOME/Documents/ $HOME/Desktop/
donde quiero crear un enlace simbólico desde el origen a dos destinos. Probablemente moreutilsy pee.
¿Cómo puedes crear muchos enlaces simbólicos a partir de una fuente?
Pseudocódigo
ln -s $HOME/file $HOME/Documents/ $HOME/Desktop/
donde quiero crear un enlace simbólico desde el origen a dos destinos. Probablemente moreutilsy pee.
¿Cómo puedes crear muchos enlaces simbólicos a partir de una fuente?
Respuestas:
No puede hacer esto con una sola invocación de ln, pero puede recorrer todos los destinos necesarios:
$ for i in "$HOME/Documents/" "$HOME/Desktop/"; do ln -s "$HOME/file" "$i"; done
Si tienes gnu parallelpuedes probar con
parallel ln -s /path/file {} ::: /path/dest1 /path/dest2 /path/dest3
o, para vincular múltiples objetivos a (los mismos) múltiples destinos
parallel ln -s {1} {2} ::: /path/file1 /path/file2 ::: /path/dest1 /path/dest2
parallelcomando desde el parallelpaquete y no desde el moreutils.
No es menos detallado que dos ln -sinvocaciones separadas :
echo $HOME/Documents/ $HOME/Desktop/ | xargs -n 1 ln -s $HOME/file
pero eso solo funciona para rutas absolutas (porque los enlaces simbólicos se interpretan en relación con su directorio principal, a menos que sean absolutos).
(El costo relativo disminuye, por supuesto, a medida que aumenta el número de enlaces. Además, este fragmento se basa en el hecho de que $HOMEno contiene espacios, pestañas o líneas nuevas).