En el archivo MAKE para mi proyecto, quiero que copie un archivo de configuración solo si el archivo aún no existe en la carpeta de destino. En este momento estoy usando:
cp -n
Sin embargo, recientemente alguien me ha dicho que está recibiendo un error de "opción no válida".
Mi pregunta es: para un archivo MAKE, ¿hay un método más compatible para lograr esto que cp -n?
(Nota: cp -u no es lo que quiero, si el archivo ya existe, nunca debería reemplazarse, incluso si es más antiguo que el archivo fuente).
Respuestas:
Qué tal si:
Aún mejor, si este es, por ejemplo, un archivo de configuración que podría tener opciones nuevas y útiles, podría:
para que todavía tengan una copia a la que puedan referirse.
fuente
¿Creo que tus comandos de tu Makefile van a ser bash? Si es así, puede intentar usar bash si es condicional, eso depende de si el archivo existe:
Código Bash desde aquí .
En el caso de que descubra que el Makefile se está ejecutando en entornos en los que su contenido no se evalúa con respecto a bash, es posible que pueda usar rsync (debe instalarse en la mayoría de las máquinas unixy) para la operación de copia. Aunque solo miré a través de la página de manual y no vi una bandera para copiar solo si dest no existe, pero todavía creo que debe ser acomodado por rsync, solo tengo que encontrar la bandera deseada para usarlo.
fuente
Tuve el mismo problema en un Makefile. Extraño "cp -n" trabajó en el mismo shell. ¿Sería interesante saber por qué?
Esta es mi solución, un poco más corta que si fuera otra cosa
fuente