Comparaison de fichier sous centos [Résolu]

Signaler
-
 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

Messages postés
35825
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 novembre 2020
5 680
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


je ne comprends pas trop ce que fait le case pourquoi c'est mieux qu'un if ?
Messages postés
35825
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 novembre 2020
5 680 > 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.
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
Messages postés
35825
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 novembre 2020
5 680 > tom45
T'es-tu renseigné sur la signification de l'option "-s" dans
cmp -s
?

Apparemment non ;-(
>
Messages postés
35825
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 novembre 2020

mais nannnnn j'ai lu de travers le man autant pour moi ça me fait l'inverse merci bcp pour l'aide zipe31
si si ça affiche le résultat mais je n'ai rien d'affiché quand je tape ma commande ?