Eu tentei usar sha256sum
no High Sierra; Eu tentei instalá-lo com MacPorts
, como:
sudo port install sha256sum
Não funcionou.
O que fazer?
Eu tentei usar sha256sum
no High Sierra; Eu tentei instalá-lo com MacPorts
, como:
sudo port install sha256sum
Não funcionou.
O que fazer?
Respostas:
O pacote CoreUtils também é publicado como uma fórmula do Brew . Portanto, se você tiver o Brew instalado, também poderá executar:
brew install coreutils
Em seguida, adicione PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
a ~/.bashrc
, execute source ~/.bashrc
e pronto.
Depois de investigar um pouco, encontrei um ticket em um software não relacionado no comando sha256sum do GitHub, que está ausente no MacOSX , com várias soluções:
instalando coreutils
sudo port install coreutils
Ele instala sha256sum
em/opt/local/libexec/gnubin/sha256sum
Como outra solução possível, usando openssl
:
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasum
comando nativo do MacOS:function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum
Resposta complementar ao Mig82, cuja resposta lida com o prefixo g para todos os executáveis em coreutils. Eu ofereço uma solução com escopo estreito.
Após a instalação do coreutils com
brew install coreutils
Os resultados ls /usr/local/bin/gsha*
listarão os executáveis com prefixo g:
/usr/local/bin/gsha1sum
/usr/local/bin/gsha224sum
/usr/local/bin/gsha256sum
/usr/local/bin/gsha384sum
/usr/local/bin/gsha512sum
A solução é criar um link simbólico para aqueles que você deseja usando um nome não prefixado (ou arriscar quebrar alguns programas que dependem de executáveis BSD e usar a opção Homebrew no prefix no g)
Exemplo
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
utilitário nativo .