Utilizzare md5sum per verificare il file in uno script


15

Voglio verificare un file usando md5sum -c file.md5. Posso farlo a mano, ma non so come verificare la validità in uno script.

Risposte:


25

È possibile utilizzare lo md5sumstato di restituzione:

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

Per rendere le cose più pulite, puoi aggiungere --statusper dire md5sum(forse solo la versione di GNU) di tacere:

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

I moduli più corti funzionano altrettanto bene, se del caso:

md5sum --status -c file.md5 && echo OK

md5sum --status -c file.md5 && echo OKpurtroppo non verifica la presenza di file mancanti o extra
Erik Martino,

1
@Erik di quale versione md5sumhai? Per quanto riguarda i file mancanti, sui sistemi che ho controllato, md5sum --status -c file.md5 && echo OKnon riesce (e non stampa "OK") se file.md5manca un file elencato . Per quanto riguarda i file extra, md5sum -cnon si lamenta mai dei file extra, controlla solo i file elencati nel file di checksum specificato.
Stephen Kitt,

1
md5sum --status -c file.md5 && echo OKcede md5sum: stat 'foo': No such file or directorye OKsu un mac
Erik Martino
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.