使用 xargs 参数作为变量来比较两个 md5sum

问题描述

我正在使用此代码提取两个 md5sum:

md5sum test{1,2} | cut -d' ' -f1-2 

我收到两个 md5sum,如下例所示:

02eace9cb4b99519b49d50b3e44ecebc 
d8e8fca2dc0f896fd7cb4cb0031ba249 

后来我不知道如何比较它们。我试过使用 xargs:

md5sum test{1,2} | cut -d' ' -f1-2 | xargs bash -c '$0 == $1'

然而,它尝试将 md5sum 作为命令执行

有什么建议吗?

解决方法

尝试改用 command subsitution

#!/bin/bash

echo 1 > file_a
echo 2 > file_b
echo 1 > file_c

file1=file_a
# try doing "file2=file_b" as well
file2=file_c

if [[ $(sha1sum $file1 | cut -d ' ' -f1-2) = $(sha1sum $file2 | cut -d ' ' -f1-2) ]]; then
    echo same
else
    echo different
fi