md5sum 检查(无文件)

Jon*_*n17 5 shell-script hashsum

所以我正在尝试使用 shell 脚本检查数十个文件。文件检查发生在不同的时间。

有没有办法做到这一点?

md5sum -c 24f4ce42e0bc39ddf7b7e879a File.name
Run Code Online (Sandbox Code Playgroud)

甚至更好的 sha512sum

sha512sum -c 24f4ce42e0bc39ddf7b7e879a File.name
Run Code Online (Sandbox Code Playgroud)

现在我必须这样做:

md5sum -c file.md5sums File.name
Run Code Online (Sandbox Code Playgroud)

或者更好的是,我可以将所有 md5sum 放在一个文件中,然后像这样检查它们:

md5sum -c `sed 1p file.md5sums` File.name
md5sum -c `sed 2p file.md5sums` File.name
md5sum -c `sed 3p file.md5sums` File.name
md5sum -c `sed 4p file.md5sums` File.name
Run Code Online (Sandbox Code Playgroud)

拥有数十个包含单个条目的文件似乎很愚蠢。

Ste*_*ris 2

如果您在脚本中执行此操作,那么您只需进行简单的比较检查即可,例如

if [ "$(md5sum < File.name)" = "24f4ce42e0bc39ddf7b7e879a  -" ]
then
  echo Pass
else
  echo Fail
fi
Run Code Online (Sandbox Code Playgroud)

注意多余的空格和-需要匹配 md5sum 的输出。

如果它看起来更干净,你可以把它做成单行

[[ "$(md5sum < File.name)" = "24f4ce42e0bc39ddf7b7e879a  -" ]] && echo Pass || echo Fail
Run Code Online (Sandbox Code Playgroud)