Utilisez md5sum pour vérifier le fichier dans un script

15

Je souhaite vérifier un fichier à l'aide de md5sum -c file.md5. Je peux le faire à la main, mais je ne sais pas comment vérifier la validité d'un script.

Robin
la source

Réponses:

25

Vous pouvez utiliser md5sumle statut de retour de:

if md5sum -c file.md5; then
    # The MD5 sum matched
else
    # The MD5 sum didn't match
fi

Pour rendre les choses plus propres, vous pouvez ajouter --statusà dire md5sum(peut-être la version de GNU uniquement) de se taire:

if md5sum --status -c file.md5; then
    # The MD5 sum matched
else
    # The MD5 sum didn't match
fi

Les formulaires plus courts fonctionnent aussi bien le cas échéant:

md5sum --status -c file.md5 && echo OK
Stephen Kitt
la source
md5sum --status -c file.md5 && echo OKne vérifie malheureusement pas les fichiers manquants ou supplémentaires
Erik Martino
1
@Erik de quelle version md5sumdisposez-vous? En ce qui concerne les fichiers manquants, sur les systèmes que j'ai vérifiés, md5sum --status -c file.md5 && echo OKéchoue (et n'imprime pas «OK») si un fichier répertorié dans file.md5est manquant. En ce qui concerne les fichiers supplémentaires, md5sum -cne se plaint jamais de fichiers supplémentaires, il vérifie uniquement les fichiers répertoriés dans le fichier de somme de contrôle donné.
Stephen Kitt
1
md5sum --status -c file.md5 && echo OKrendements md5sum: stat 'foo': No such file or directoryet OKsur un mac
Erik Martino