KEI*_*NOS 4 macos bash hash sha256
在 macOS (Mojave) 上,“shasum”命令不是有一个选项,它只返回没有文件名的哈希值吗?
$ shasum -a 256 archive.tar.gz
35fe34e225a06d......00e72ee61a437b7226f9f archive.tar.gz
Run Code Online (Sandbox Code Playgroud)
我当前在 macOS 的默认状态下工作的解决方法(无需额外安装):
$ shasum -a 256 archive.tar.gz | awk '{ print $1 }'
35fe34e225a06d......00e72ee61a437b7226f9f
Run Code Online (Sandbox Code Playgroud)
$ php -r "echo hash_file('sha256', 'archive.tar.gz'), PHP_EOL;"
35fe34e225a06d......00e72ee61a437b7226f9f
Run Code Online (Sandbox Code Playgroud)
但是,如果有一个命令选项,我想让它更简单。
是否有任何命令选项或者我是否必须为变通方法创建别名?
数组赋值有效:
sha=($(shasum -a 256 archive.tar.gz))
echo $sha
35fe34e225a06d......00e72ee61a437b7226f9f
Run Code Online (Sandbox Code Playgroud)
或者你可以使用 cut:
shasum -a 256 archive.tar.gz | cut -f1 -d' '
35fe34e225a06d......00e72ee61a437b7226f9f
Run Code Online (Sandbox Code Playgroud)