0 votes

Comprendre la copie de fichiers de paquets

Je constate des résultats inattendus lors de la copie de fichiers de paquets dans un shell script. Il y a deux problèmes interdépendants.

  1. J'ai des commandes similaires à celles qui suivent dans un shell script :

    cp -rp chemin/vers/paquet/fichier destination/répertoire

Le problème que je rencontre est que parfois le paquet est copié dans son ensemble, ce qui est ce que je veux. D'autres fois, le paquet "disparaît" et seul son contenu se retrouve dans le répertoire de destination. Je ne vois pas le motif qui fait que cela se passe différemment. Plus précisément, dans le shell script, le paquet est copié dans son ensemble. Mais lorsque j'essaie la commande exacte depuis le terminal, je n'obtiens que le contenu.

  1. Dans le shell script, si le paquet semble être copié dans son ensemble, cela prend un temps très long. Environ 20 minutes pour copier un fichier de 17 Mo sur une clé USB. Lorsque je copie le même paquet via le Finder, il se copie en une minute environ. Ensuite, pendant les tests, lorsque je réexécute le script, cela ne prend pas 20 minutes, mais juste la minute.

Ces deux résultats sont inattendus. Je m'attendrais à ce que le même résultat soit obtenu à chaque fois, et non à ce que les résultats varient en fonction du paquet, de son contenu et du moment où le script est exécuté.

Des idées ?

1voto

Gordon Davisson Points 30215

Je ne suis pas sûr du numéro 2, mais je pense que le numéro 1 est dû à des barres obliques dans le chemin du fichier. cp -Rp /path/to/Application.app /path/to/destination copiera le paquet entier, tandis que cp -Rp /path/to/Application.app/ /path/to/destination (notez le slash de fin après la source) copiera seulement le contenu.

D'ailleurs, vous devriez utiliser cp -R au lieu de cp -r -- dans certaines implémentations de cp Ce sont les mêmes, mais dans certaines versions, l'option minuscule présente des ... bizarreries. Selon la page de manuel de OS X :

COMPATIBILITÉ

Les anciennes versions de l'utilitaire cp avaient une option -r. Cette implémentation supporte cette option ; cependant, son utilisation est fortement déconseillée, car elle car elle ne copie pas correctement les fichiers spéciaux, les liens symboliques ou les fifo's.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X