使用 OS X bash 比较剪贴板中的 sha1 校验和与本地文件的 sha1 的最快方法
Fastest way to compare sha1 checksum in clipboard with sha1 of local file using OS X bash
我在想也许它是将 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 }') ]]; then echo 'matches'; fi
使用它您可以创建这样的函数(例如,将其添加到您的 ~/.bash_profile
):
shachk () {
if [[ $(pbpaste) == $(shasum "$@" | awk '{print }') ]]; then echo 'match'; fi ;
}
所以在命令行上你可以简单地输入:
$ shachk somefile
然后它会将它与粘贴板上的哈希值进行比较。
EDIT: 一个稍微改进版的函数,其中returns文件路径,matches/failed,并对输出进行着色。
shachk() {
[[ $(pbpaste) == $(shasum "$@" | awk '{print }') ]] \
&& echo == $(pbpaste) $'\e[1;32mMATCHES\e[0m' && return; \
echo != $(pbpaste) $'\e[1;31mFAILED\e[0m' ;
}
我在想也许它是将 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 }') ]]; then echo 'matches'; fi
使用它您可以创建这样的函数(例如,将其添加到您的 ~/.bash_profile
):
shachk () {
if [[ $(pbpaste) == $(shasum "$@" | awk '{print }') ]]; then echo 'match'; fi ;
}
所以在命令行上你可以简单地输入:
$ shachk somefile
然后它会将它与粘贴板上的哈希值进行比较。
EDIT: 一个稍微改进版的函数,其中returns文件路径,matches/failed,并对输出进行着色。
shachk() {
[[ $(pbpaste) == $(shasum "$@" | awk '{print }') ]] \
&& echo == $(pbpaste) $'\e[1;32mMATCHES\e[0m' && return; \
echo != $(pbpaste) $'\e[1;31mFAILED\e[0m' ;
}