J'ai essayé d'utiliser sha256sumdans High Sierra; J'ai tenté de l'installer avec MacPorts, comme:
sudo port install sha256sum
Cela n'a pas fonctionné.
Que faire?
J'ai essayé d'utiliser sha256sumdans High Sierra; J'ai tenté de l'installer avec MacPorts, comme:
sudo port install sha256sum
Cela n'a pas fonctionné.
Que faire?
Réponses:
Le package CoreUtils est également publié sous forme de formules Brew . Donc, si vous avez installé Brew, vous pouvez également exécuter:
brew install coreutils
Puis ajouter PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"à ~/.bashrc, exécuter source ~/.bashrcet vous avez terminé.
Après avoir enquêté un peu, j'ai trouvé un ticket dans un logiciel sans rapport avec la commande GitHub sha256sum manquante dans MacOSX , avec plusieurs solutions:
installation de coreutils
sudo port install coreutils
Il s'installe sha256sumà/opt/local/libexec/gnubin/sha256sum
Comme autre solution possible, en utilisant openssl:
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasumcommande native de MacOS:function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum
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
Les résultats dans ls /usr/local/bin/gsha*
listeront 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/gsha512sumLa solution consiste à créer un lien symbolique vers ceux que vous souhaitez 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 no g prefix Homebrew)
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
}
md5utilitaire natif .