Comparaison de fichier sous centos

Résolu/Fermé
tom45 - 18 sept. 2020 à 16:51
 tom45 - 18 sept. 2020 à 18:16
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
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
18 sept. 2020 à 17:17
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
je ne comprends pas trop ce que fait le case pourquoi c'est mieux qu'un if ?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > tom45
18 sept. 2020 à 17:57
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
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > tom45
Modifié le 18 sept. 2020 à 17:58
T'es-tu renseigné sur la signification de l'option "-s" dans
cmp -s
?

Apparemment non ;-(
0
tom45 > zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021
18 sept. 2020 à 18:16
mais nannnnn j'ai lu de travers le man autant pour moi ça me fait l'inverse merci bcp pour l'aide zipe31
0
si si ça affiche le résultat mais je n'ai rien d'affiché quand je tape ma commande ?
0