Bash字符串比较sha256sum



我正在尝试将复制文件的哈希值与bash进行比较,但条件不工作。

└──╼ $bash check-256.sh cal.sh 2cal.sh 
ea8f4b5acdeb26015661ee27c9000af97691a0fd715be94b2b3eda6a3d02c789  cal.sh
ea8f4b5acdeb26015661ee27c9000af97691a0fd715be94b2b3eda6a3d02c789  2cal.sh
#!/bin/bash
First_file=$(sha256sum $1)
Second_file=$(sha256sum $2)
echo "$First_file"
echo "$Second_file"
[ "$First_file" == "$Second_file" ] &&  echo "Pass" || echo "Fail"

条件失败,因为结果字符串实际上不相同。您需要使用cut命令来删除哈希。

#!/bin/bash
First_file=$(sha256sum $1 | cut -d' ' -f1)
Second_file=$(sha256sum $2 | cut -d' ' -f1)
echo "$First_file"
echo "$Second_file"
[ "$First_file" == "$Second_file" ] &&  echo "Pass" || echo "Fail"
cut -d' ' -f1
  • -d指定分隔符。在本例中,我们使用单个空格
  • -f1选择输出字段。这里我们只需要第一个字段,也就是哈希值

相关内容

  • 没有找到相关文章

最新更新