将 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 变量 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Windows下python3生成UTF8的CSV文件和sha256sum踩坑记录