ใช้ md5sum เพื่อตรวจสอบไฟล์ในสคริปต์


คำตอบ:


25

คุณสามารถใช้md5sumสถานะการส่งคืนของ:

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

เพื่อให้ทุกสิ่งสะอาดขึ้นคุณสามารถเพิ่ม--statusบอกmd5sum(อาจเป็นรุ่นของ GNU เท่านั้น) ให้เงียบ:

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

แบบฟอร์มสั้นจะทำงานได้ดีถ้าเหมาะสม:

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

md5sum --status -c file.md5 && echo OKไม่ได้ตรวจสอบไฟล์ที่ขาดหายไปหรือไฟล์พิเศษน่าเสียดาย
Erik Martino

1
@ เอริคmd5sumคุณมีรุ่นอะไร เกี่ยวกับไฟล์ที่หายไปในระบบที่ฉันตรวจสอบแล้วmd5sum --status -c file.md5 && echo OKจะล้มเหลว (และไม่พิมพ์“ ตกลง”) หากไฟล์ที่อยู่ในรายการfile.md5หายไป เกี่ยวกับไฟล์เพิ่มเติมmd5sum -cไม่เคยบ่นเกี่ยวกับไฟล์พิเศษมันจะตรวจสอบไฟล์ที่ระบุไว้ในไฟล์เช็คซัมที่กำหนด
Stephen Kitt

1
md5sum --status -c file.md5 && echo OKให้ผลตอบแทนmd5sum: stat 'foo': No such file or directoryและOKใน mac
Erik Martino
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.