Comparaison de fichier sous centos

Résolu
tom45 -  
 tom45 -
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. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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. tom45
       
      je ne comprends pas trop ce que fait le case pourquoi c'est mieux qu'un if ?
      0
      1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > tom45
         
        Je 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
    2. tom45
       
      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
      1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > tom45
         
        T'es-tu renseigné sur la signification de l'option "-s" dans
        cmp -s
        ?

        Apparemment non ;-(
        0
      2. tom45 > zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention  
         
        mais nannnnn j'ai lu de travers le man autant pour moi ça me fait l'inverse merci bcp pour l'aide zipe31
        0
  2. tom45
     
    si si ça affiche le résultat mais je n'ai rien d'affiché quand je tape ma commande ?
    0