【问题标题】:Read result of sha256sum into a bash variable [duplicate]将 sha256sum 的结果读入 bash 变量 [重复]
【发布时间】: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 脚本将其放入文件中。

【问题讨论】:

    标签: 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 的机会更高。
    猜你喜欢
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 2012-06-01
    • 1970-01-01
    • 2021-05-24
    相关资源
    最近更新 更多