gpt4 book ai didi

bash - md5sum 仅输出文件中的散列

转载 作者:行者123 更新时间:2023-12-02 09:19:49 27 4
gpt4 key购买 nike

您好,我想在 Linux 上创建一个 bash 文件,它根据备份的 md5 哈希值检查文件的 md5 哈希值,因此我知道原始文件是否已被篡改。该脚本应输出两个文件的 md5 哈希值,然后比较两个创建的哈希文件:

md5sum file1 > file1.md5 | cut -c -32
if [ file1.md5 =! backup.md5 ] then;
#send email

但是它不起作用,file.md5 中仍然有文件名,有人知道如何只获取 file.md5 的 has 吗?

最佳答案

您的脚本有几个问题。

首先你应用 cut -c -32 之后你已经将 md5sum 输出重定向到 file1.md5,这就是它什么都不做的原因。

你应该像那样重组它,而不是:

md5sum file1 | cut -c -32 > file1.md5

接下来,你不能直接用 =! 比较文件,你必须读取并比较它们的内容,就像这样:

[ "$(cat file1.backup.md5)" != "$(cat file1.real.md5)" ]

还要注意 md5sum 已经有一个“检查模式”,所以你可以简单地这样做:

#Save MD5 sum of your file to backup.md5, in md5sum native format
md5sum file1 > backup.md5

#Later on ...
if ! md5sum -c backup.md5; then
...

关于bash - md5sum 仅输出文件中的散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43679228/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com