Rui F Ribeiro Asked: 2018-02-27 19:05:40 +0800 CST2018-02-27 19:05:40 +0800 CST 2018-02-27 19:05:40 +0800 CST MacOS 中没有 sha256sum 772 我尝试sha256sum在 High Sierra 中使用;我试图用 安装它MacPorts,如: sudo port install sha256sum 那没起效。 该怎么办? software-installation osx 3 个回答 Voted Mig82 2018-11-28T03:46:19+08:002018-11-28T03:46:19+08:00 CoreUtils 包也作为 Brew 公式发布。因此,如果您安装了 Brew,您也可以运行: brew install coreutils 然后添加PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH",~/.bashrc运行source ~/.bashrc,你就完成了。 Best Answer Rui F Ribeiro 2018-02-27T19:05:40+08:002018-02-27T19:05:40+08:00 经过一番调查,我发现 GitHub 中一个无关软件的票在MacOSX 中缺少 sha256sum 命令,有几种解决方案: 安装 coreutils sudo port install coreutils 它安装sha256sum在/opt/local/libexec/gnubin/sha256sum 作为另一种可能的解决方案,使用openssl: function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; } 还有一个,使用shasumMacOS 自带的命令: function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum Jonathan Komar 2019-03-26T09:32:50+08:002019-03-26T09:32:50+08:00 Mig82 的补充答案,其答案处理 coreutils 中所有可执行文件的 g 前缀。我提供了一个范围很广的解决方案。 在使用 coreutils 安装之后 brew install coreutils ls /usr/local/bin/gsha* 将列出以 g 为前缀的可执行文件: /usr/local/bin/gsha1sum /usr/local/bin/gsha224sum /usr/local/bin/gsha256sum /usr/local/bin/gsha384sum /usr/local/bin/gsha512sum 解决方案是使用非前缀名称创建指向您想要的符号链接(处理所有这些都会带来破坏某些依赖 BSD 可执行文件的程序的风险) 例子 shaarray=(\ /usr/local/bin/gsha1sum /usr/local/bin/gsha224sum /usr/local/bin/gsha256sum /usr/local/bin/gsha384sum /usr/local/bin/gsha512sum ) function installsha() { for i in "${shaarray[@]}" do printf "$i\n" | perl -pe 'printf $_; s/gsha/sha/' | xargs -n 2 ln -s done }
CoreUtils 包也作为 Brew 公式发布。因此,如果您安装了 Brew,您也可以运行:
然后添加
PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
,~/.bashrc
运行source ~/.bashrc
,你就完成了。经过一番调查,我发现 GitHub 中一个无关软件的票在MacOSX 中缺少 sha256sum 命令,有几种解决方案:
安装 coreutils
它安装
sha256sum
在/opt/local/libexec/gnubin/sha256sum
作为另一种可能的解决方案,使用
openssl
:shasum
MacOS 自带的命令:Mig82 的补充答案,其答案处理 coreutils 中所有可执行文件的 g 前缀。我提供了一个范围很广的解决方案。
在使用 coreutils 安装之后
ls /usr/local/bin/gsha*
将列出以 g 为前缀的可执行文件:/usr/local/bin/gsha1sum
/usr/local/bin/gsha224sum
/usr/local/bin/gsha256sum
/usr/local/bin/gsha384sum
/usr/local/bin/gsha512sum
解决方案是使用非前缀名称创建指向您想要的符号链接(处理所有这些都会带来破坏某些依赖 BSD 可执行文件的程序的风险)
例子