Verwenden Sie md5sum, um die Datei in einem Skript zu überprüfen


15

Ich möchte eine Datei mit überprüfen md5sum -c file.md5. Ich kann das von Hand machen, aber ich weiß nicht, wie ich die Gültigkeit in einem Skript überprüfen soll.

Antworten:


25

Sie können md5sumden Rückgabestatus von verwenden:

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

Um die Dinge sauberer zu machen, können Sie hinzufügen --status, dass md5sum(möglicherweise nur in der GNU-Version) still zu sein gilt:

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

Kürzere Formulare funktionieren bei Bedarf genauso gut:

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

md5sum --status -c file.md5 && echo OKsucht leider nicht nach fehlenden oder zusätzlichen Dateien
Erik Martino

1
@Erik von welcher Version md5sumhast du? In Bezug auf fehlende Dateien md5sum --status -c file.md5 && echo OKschlägt auf den Systemen, die ich überprüft habe, fehl (und es wird nicht "OK" gedruckt), wenn eine in aufgelistete Datei file.md5fehlt. In Bezug auf zusätzliche Dateien md5sum -cbeschwert es sich nie über zusätzliche Dateien, sondern überprüft nur die Dateien, die in der angegebenen Prüfsummendatei aufgeführt sind.
Stephen Kitt

1
md5sum --status -c file.md5 && echo OKErträge md5sum: stat 'foo': No such file or directoryund OKauf einem Mac
Erik Martino
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.