微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

macos – 使用OS X bash将剪贴板中的sha1校验和与本地文件的sha1进行比较的最快方法

我想也许是将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' ; 
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐