Comparaison de fichier sous centos

Résolu
Bonjour je cherche à faire un petit script pour comparer 2 md5sum

j'ai essayé

if cmp -s /tmp/$BACKUPNAME.md5 tmp/$BACKUPNAME_LOCAL.md5==0
then
Copie_dufichier
else
Analyse
logger "erreur dans la comparaison"
fi

une idée

2 réponses

  1. Contributeur
    Salut,

    Une solution parmi d'autres…

    #! /bin/bash
    #set -x
    
    cmp -s fich.md5 copie2.md5
    retval="$?"
    
    case "${retval}" in
    0)	echo "Copie du fichier…"
    	copie_du_fichier
    	;;
    1)	echo "Analyse du fichier…"
    	analyse_fichier
    	;;
    *)	echo "Erreur générale."
    	;;
    esac


    0
    1. je ne comprends pas trop ce que fait le case pourquoi c'est mieux qu'un if ?
      0
    2. autre question con comment je peux tout simplement faire un test
      pour savoir déja si mes fichiers sont identique

      genre un
      cmp -s fich.md5 copie2.md5 >> resultat.txt
      0
    3. Contributeur
      @tom45Je n'ai pas dit que c'était mieux, c'est juste une autre façon de faire.

      Chaque commande exécutée produit un code retour, en gros 0 quand ça réussi et 1 en cas d'échec.
      Ce code retour est stockée immédiatement dans une variable ($?) d'où le besoin de la conservée dans une autre variable (${retval}).
      Après il ne reste plus qu'à évaluer ladite variable dans le case.
      0
    4. Contributeur
      @tom45T'es-tu renseigné sur la signification de l'option "-s" dans
      cmp -s
      ?

      Apparemment non ;-(
      0
    5. @zipe31mais nannnnn j'ai lu de travers le man autant pour moi ça me fait l'inverse merci bcp pour l'aide zipe31
      0
  2. si si ça affiche le résultat mais je n'ai rien d'affiché quand je tape ma commande ?
    0