Comment déterminer si cp -u a effectivement copié le file?

Comme le dit le titre, je cherche un moyen concis pour vérifier si un file a été copié en utilisant cp -u .

J'ai un petit script shell qui met à jour un certain nombre de files. Pour le moment, le script fait echo un petit message pour chaque file qui est copié.

Maintenant, je veux changer le script de sorte que l' echo ne soit exécuté que lorsque le file a été mis à jour. J'ai vérifié si cp -u renvoyé un code d'erreur s'il n'a pas copié le file, mais ce n'est pas le cas.

Y a-t-il une meilleure façon de comparer manuellement les horodatages des files?

 if [ "$(cp -uv source destination)" != "" ]; then echo copyd; else echo not copyd; fi 

Mettre à jour

Match "->" dans la sortie verbeuse de cp. Cela ne se produit que s'il a pu être copié avec succès et si vos noms de files ne contiennent pas "->".

 if [[ "$(cp -uv source destination)" =~ \-\> ]]; then echo copyd; else echo not copyd; fi