从macOS中的“ shasum”获取不带文件名的SHA256文件哈希值

时间:2019-02-27 01:07:21

标签: bash macos hash sha256

在macOS(Mojave)上,“ shasum”命令没有选项,该选项仅返回哈希值而没有文件名吗?

$ shasum -a 256 archive.tar.gz
35fe34e225a06d......00e72ee61a437b7226f9f   archive.tar.gz

我当前的解决方法可以在macOS的默认状态下运行(无需附加安装):

$ shasum -a 256 archive.tar.gz | awk '{ print $1 }'
35fe34e225a06d......00e72ee61a437b7226f9f
$ php -r "echo hash_file('sha256', 'archive.tar.gz'), PHP_EOL;"
35fe34e225a06d......00e72ee61a437b7226f9f

但是,如果要使用命令选项,我想使其更简单。

是否有任何命令选项,或者我必须对这些变通方法做一个别名?

1 个答案:

答案 0 :(得分:3)

数组分配起作用:

sha=($(shasum -a 256 archive.tar.gz))
echo $sha
35fe34e225a06d......00e72ee61a437b7226f9f

或者您可以使用cut:

shasum -a 256 archive.tar.gz | cut -f1 -d' '
35fe34e225a06d......00e72ee61a437b7226f9f