我在想这可能是将shasum
和diff
与管道或其他东西组合在一起...
我想知道将从网站复制到剪贴板的sha1校验和与从同一站点下载的本地文件的sha1校验和进行比较的最快方法,以验证其完整性。
例如,我的剪贴板中有来自Raspberry Pi NOOBS download page的sha1字符串94f7ee8a067ac57c6d35523d99d1f0097f8dc5cc
,并且我想使用Terminal应用程序将其与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/