将 sha256sum 的结果读入 bash 变量 [重复]

Posted

技术标签:

【中文标题】将 sha256sum 的结果读入 bash 变量 [重复]【英文标题】:Read result of sha256sum into a bash variable [duplicate] 【发布时间】:2017-02-20 01:40:50 【问题描述】:

对于sha256sum的以下执行和结果

~/HydroGuardFW/hw_1_5/Debug$ sha256sum debug_2.0.5.hex
34c977f0df3e90f9a4b36da3cd39fdccf3cd1123c563894b3a3378770a19fc6d      debug_2.0.5.hex

输出将分为两部分,sha256 和计算 sha256 总和的文件名的 echo。如何将输出的第一部分(即 sha256)抓取到变量中,以便可以使用 bash 脚本将其放入文件中。

【问题讨论】:

【参考方案1】:

您不需要将其存储在变量中。也可以直接重定向到文件中。

sha256sum  debug_2.0.5.hex | awk 'print $1' > dsl

如果您确实需要将其存储在变量中以用于其他目的,那么:

read -r shm_id rest <<<"$(sha256sum  scr)"
echo $shm_id > dsl

shm_id=$(sha256sum  scr | awk 'print $1')

【讨论】:

shm_id=$(sha256sum filename | awk 'print $1') 是回答这个问题所需要的。 @lasec0203 这就是你投反对票的理由?! 是的,因为您很想用这句话让 OP 远离他们的意图。 You don't need store it in a variable. 然后你把简单的解决方案放在所有更高级的解决方案下面 我投了赞成票——如果没有别的东西可以补偿那次投反对票的话。答案很好,解决方案也反映了问题的最后一部分“...放入变量中,因此可以使用 bash 脚本将其放入文件中”。 也许sha256sum file | cut -d' ' -f1 更好,因为错过awk 的机会更高。

以上是关于将 sha256sum 的结果读入 bash 变量 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

SHA 256不同的结果

Linux 命令行 SHA-256 哈希与在线工具不同?

Windows下python3生成UTF8的CSV文件和sha256sum踩坑记录

编写比较 BATCH 文件以验证 sha256sum 是不是为已发布的代码

sha256sum和 md5sum 命令之间的区别

内存中的Linux内核代码检查sha256 sum