ハイシエラでsha256sum
を使用しようとしました。私はMacPorts
を使用してそれをインストールしようとしました:
Sudo port install sha256sum
それは動かなかった。
何をすべきか?
少し調べたところ、GitHubの無関係なソフトウェアにチケットが見つかりました sha256sumコマンドがMacOSXにありません 、いくつかの解決策があります:
coreutilsのインストール
Sudo port install coreutils
インストールsha256sum
at /opt/local/libexec/gnubin/sha256sum
別の可能な解決策として、openssl
を使用します。
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasum
commandを使用します。function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum
CoreUtilsパッケージも公開されています Brew式として 。したがって、Brewがインストールされている場合は、次のコマンドを実行することもできます。
brew install coreutils
次に、PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
を~/.bashrc
に追加し、source ~/.bashrc
を実行すれば完了です。
Coreutilsのすべての実行可能ファイルのgプレフィックスを処理するMig82の補足回答。私は厳密にスコープされたソリューションを提供します。
Coreutilsをインストールした後
brew install coreutils
ls /usr/local/bin/gsha*
の結果には、gで始まる実行可能ファイルがリストされます。
/usr/local/bin/gsha1sum
/usr/local/bin/gsha224sum
/usr/local/bin/gsha256sum
/usr/local/bin/gsha384sum
/usr/local/bin/gsha512sum
解決策は、接頭辞なしの名前を使用して、必要なものへのシンボリックリンクを作成することです(または、BSD実行可能ファイルに依存し、g接頭辞なしのHomebrewオプションを使用する一部のプログラムを破壊する危険を冒します)。
例
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
}