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


    1. je ne comprends pas trop ce que fait le case pourquoi c'est mieux qu'un if ?
    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
    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.
    4. Contributeur
      @tom45T'es-tu renseigné sur la signification de l'option "-s" dans
      cmp -s
      ?

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