Ich habe versucht, sha256sumin High Sierra zu verwenden; Ich habe versucht, es zu installieren mit MacPorts:
sudo port install sha256sum
Es hat nicht funktioniert.
Was ist zu tun?
Ich habe versucht, sha256sumin High Sierra zu verwenden; Ich habe versucht, es zu installieren mit MacPorts:
sudo port install sha256sum
Es hat nicht funktioniert.
Was ist zu tun?
Antworten:
Das CoreUtils-Paket wird auch als Brew-Formel veröffentlicht . Wenn Sie Brew installiert haben, können Sie auch einfach Folgendes ausführen:
brew install coreutils
Dann fügen Sie PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"zu ~/.bashrclaufen source ~/.bashrcund du bist fertig.
Nachdem ich ein wenig nachgeforscht hatte , fand ich ein Ticket in einer nicht verwandten Software in GitHub. Der Befehl sha256sum fehlt in MacOSX mit mehreren Lösungen:
Installation von Coreutils
sudo port install coreutils
Es wird installiert sha256sumbei/opt/local/libexec/gnubin/sha256sum
Als weitere mögliche Lösung verwenden Sie openssl:
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasumBefehl, der den für MacOS nativen Befehl verwendet:function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum
Ergänzende Antwort auf Mig82, dessen Antwort das g-Präfix für alle ausführbaren Dateien in coreutils behandelt. Ich biete eine eng gefasste Lösung an.
Nach der Installation von coreutils mit
brew install coreutils
In den Ergebnissen ls /usr/local/bin/gsha*
werden die ausführbaren Dateien mit dem Präfix g aufgelistet:
/usr/local/bin/gsha1sum/usr/local/bin/gsha224sum/usr/local/bin/gsha256sum/usr/local/bin/gsha384sum/usr/local/bin/gsha512sumDie Lösung besteht darin, einen symbolischen Link zu den gewünschten zu erstellen, indem Sie einen Namen ohne Präfix verwenden (oder das Risiko eingehen, einige Programme zu beschädigen, die auf ausführbaren BSD-Dateien basieren und die Homebrew-Option ohne Präfix verwenden).
Beispiel
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
}
md5Dienstprogramm.