¿Hay una manera de decirle cp
a --link
(es decir, crear enlaces duros), pero caer de nuevo en el caso en que estoy tratando de enlaces duros entre dispositivos? Los enlaces entre dispositivos no son posibles y causarían cp
fallas.
La razón por la que pregunto es porque me gustaría usar esto en GNUmakefile
ay preferiría una línea de comando legible sobre una enrevesada y larga (o una función, para el caso).
La pregunta es para los coreutils de GNU (7.4 y 8.13).
Nota: en este momento, la solución sería algo así como (GNU make sintaxis de receta):
cp -fl $^ $@ || cp -f $^ $@
Por supuesto, esto dará mensajes de error espurios en el caso de enlaces entre dispositivos, aunque tendrá éxito en la segunda cp
llamada. Además, esto se expande (el formulario fuente parece legible después de todo) ya no será legible.
$$
en mi caso es, por supuesto, porque está dentro de una macro. Y su línea, por supuesto, es una variación de lo que estoy usando. Pero al menos sé de esta manera que no existe como una opción y necesito proporcionar la mía.ln
y usarcp --reflink=auto
(vea mi respuesta actualizada).