我试图sha256sum
在High Sierra中使用;我尝试使用安装它MacPorts
,如:
sudo port install sha256sum
那没起效。
该怎么办?
我试图sha256sum
在High Sierra中使用;我尝试使用安装它MacPorts
,如:
sudo port install sha256sum
那没起效。
该怎么办?
Answers:
CoreUtils软件包也以Brew公式发布。因此,如果您安装了Brew,则还可以运行:
brew install coreutils
然后添加PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
到~/.bashrc
,运行source ~/.bashrc
就完成了。
经过一番调查后,我发现MacOSX中缺少 GitHub中不相关软件中的票证sha256sum命令,其中包含几种解决方案:
安装coreutils
sudo port install coreutils
它安装sha256sum
在/opt/local/libexec/gnubin/sha256sum
作为另一种可能的解决方案,使用openssl
:
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasum
MacOS固有的命令:function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum
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可执行文件并使用no g前缀Homebrew选项的程序的风险)
例
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
}
md5
实用程序。