0 votos

Comprender la copia de archivos de paquetes

Estoy viendo algunos resultados inesperados al copiar archivos de paquetes en un shell script. Hay dos problemas interrelacionados.

  1. Tengo comandos similares a los siguientes en un shell script:

    cp -rp ruta/al/paquete/archivo destino/directorio

El problema que estoy viendo es que a veces se copia el paquete en su totalidad, que es lo que quiero. Otras veces el paquete "se va" y sólo el contenido del paquete termina en el destino/directorio. No veo el patrón que hace que esto ocurra de forma diferente. Concretamente, en el shell script, el paquete se copia entero. Pero cuando intento el comando exacto desde la terminal, obtengo sólo el contenido.

  1. En el shell script, aunque el paquete parece copiarse en su totalidad, tarda mucho tiempo. Como 20 minutos para copiar un archivo de 17MB a una unidad USB. Cuando copio el mismo paquete a través de Finder, se copia en aproximadamente un minuto. Luego, durante las pruebas, cuando vuelvo a ejecutar el script, no tarda 20 minutos, sino sólo el minuto.

Estos dos resultados son inesperados. Yo esperaría el mismo resultado cada vez, y no que los resultados varíen con el contenido del paquete y el tiempo de ejecución del script.

¿Alguna idea?

1voto

Nate Puntos 220

No estoy seguro del número 2, pero sospecho que el número 1 se debe a las barras inclinadas en la ruta del archivo. cp -Rp /path/to/Application.app /path/to/destination copiará todo el paquete, mientras que cp -Rp /path/to/Application.app/ /path/to/destination (nótese la barra al final de la fuente) copiará sólo el contenido.

Por cierto, debería utilizar cp -R en lugar de cp -r -- en algunas implementaciones de cp son los mismos, pero en algunas versiones la opción de minúsculas tiene ... rarezas. Según la página man de OS X:

COMPATIBILIDAD

Las versiones antiguas de la utilidad cp tenían una opción -r. Esta implementación soporta esa opción; sin embargo, se desaconseja su uso, ya que no no copia correctamente archivos especiales, enlaces simbólicos o fifos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X