【问题标题】:How to store output as variable [duplicate]如何将输出存储为变量[重复]
【发布时间】:2019-11-05 01:01:52
【问题描述】:

我希望将我最近下载的文件的哈希值作为变量存储在我的下载文件夹中。

到目前为止,这就是我所拥有的:

md5sum $(ls -t | head -n1) | awk '{print $1}'

输出:

user@ci-lux-soryan:~/Downloads$ md5sum $(ls -t | head -n1) | awk '{print $1}'
c1924742187128cc9cb2ec04ecbd1ca6

我曾尝试将它存储为像这样的变量,但它不起作用:

VTHash=$(md5sum $(ls -t | head -n1) | awk '{print $1}')

任何想法,我哪里错了

【问题讨论】:

标签: bash shell awk scripting


【解决方案1】:

正如@Cyrus 所述,解析ls 有其自身的缺陷,因此最好完全避免它,而不是允许意外的极端情况。以下将有助于概括的要求。

VTHash="$(find -type f -mtime 0 | tail -n 1 | xargs md5sum | awk '{ print $1 }')"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 2022-08-10
    • 1970-01-01
    • 2015-08-07
    • 2017-06-13
    相关资源
    最近更新 更多