我在想也许它是将 shasum
和 diff
与管道或其他东西结合起来...
我想知道比较从网站复制到我的剪贴板的 sha1 校验和与我从同一站点下载的本地文件的 sha1 校验和以验证其完整性的最快方法。
例如,我的剪贴板中有来自 Raspberry Pi NOOBS download page 的 sha1 字符串 94f7ee8a067ac57c6d35523d99d1f0097f8dc5cc
我想使用终端应用程序将它与 NOOBS_v1_9_0.zip
文件的校验和进行比较,我不想从剪贴板内容创建一个新文件。
我认为它是 bash 3.2(它是 OS X 10.11.4)
最佳答案
你可以在 bash 中使用这样的命令:
if [[ $(pbpaste) == $(shasum file | awk '{print $1}') ]]; then echo 'matches'; fi
使用它您可以创建这样的函数(例如,将其添加到您的 ~/.bash_profile
):
shachk () {
if [[ $(pbpaste) == $(shasum "$@" | awk '{print $1}') ]]; then echo 'match'; fi ;
}
所以在命令行上你可以简单地输入:
$ shachk somefile
然后它将它与您粘贴板上的哈希值进行比较。
编辑:略微改进的函数版本,它返回文件路径、匹配/失败并对输出进行着色。
shachk() {
[[ $(pbpaste) == $(shasum "$@" | awk '{print $1}') ]] \
&& echo $1 == $(pbpaste) $'\e[1;32mMATCHES\e[0m' && return; \
echo $1 != $(pbpaste) $'\e[1;31mFAILED\e[0m' ;
}
关于macos - 使用 OS X bash 将剪贴板中的 sha1 校验和与本地文件的 sha1 进行比较的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36382599/