J'ai essayé d'utiliser sha256sum
à High Sierra; J'ai essayé de l'installer avec MacPorts
, comme:
Sudo port install sha256sum
Cela n'a pas fonctionné.
Que faire?
Après avoir enquêté un peu, j'ai trouvé un ticket dans un logiciel non lié dans GitHub la commande sha256sum est manquante dans MacOSX , avec plusieurs solutions:
installation de coreutils
Sudo port install coreutils
Il installe sha256sum
à /opt/local/libexec/gnubin/sha256sum
Comme autre solution possible, en utilisant openssl
:
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasum
native de MacOS:function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum
Le package CoreUtils est également publié sous forme de formules Brew . Donc, si vous avez installé Brew, vous pouvez également simplement exécuter:
brew install coreutils
Puis ajouter PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
à ~/.bashrc
, courir source ~/.bashrc
et tu as fini.
Réponse supplémentaire à Mig82, dont la réponse gère le préfixe g pour tous les exécutables dans coreutils. J'offre une solution à portée limitée.
Après l'installation de coreutils avec
brew install coreutils
Résulte en ls /usr/local/bin/gsha*
listera les exécutables préfixés en g:
/usr/local/bin/gsha1sum
/usr/local/bin/gsha224sum
/usr/local/bin/gsha256sum
/usr/local/bin/gsha384sum
/usr/local/bin/gsha512sum
La solution est de créer un lien symbolique vers ceux que vous voulez en utilisant un nom non préfixé (ou prendre le risque de casser certains programmes qui s'appuient sur les exécutables BSD et utilisent l'option Homebrew no g prefix)
Exemple
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
}