Ich habe versucht, sha256sum
in 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, sha256sum
in 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 ~/.bashrc
laufen source ~/.bashrc
und 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 sha256sum
bei/opt/local/libexec/gnubin/sha256sum
Als weitere mögliche Lösung verwenden Sie openssl
:
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasum
Befehl, 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/gsha512sum
Die 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
}
md5
Dienstprogramm.