Я пытался использовать sha256sum
в Высокой Сьерре; Я попытался установить его с помощью MacPorts
:
sudo port install sha256sum
Это не работает.
Что делать?
Я пытался использовать sha256sum
в Высокой Сьерре; Я попытался установить его с помощью MacPorts
:
sudo port install sha256sum
Это не работает.
Что делать?
Ответы:
Пакет CoreUtils также публикуется в виде формул Brew . Так что, если у вас установлен Brew, вы можете просто запустить:
brew install coreutils
Затем добавить PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
к ~/.bashrc
, бежать , source ~/.bashrc
и вы сделали.
После небольшого исследования я обнаружил, что в MacOSX отсутствует билет в несвязанном программном обеспечении в GitHub, а команда sha256sum отсутствует в нескольких решениях:
установка coreutils
sudo port install coreutils
Устанавливается sha256sum
на/opt/local/libexec/gnubin/sha256sum
В качестве другого возможного решения, используя openssl
:
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasum
команду native для MacOS:function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum
Дополнительный ответ для Mig82, чей ответ обрабатывает префикс g для всех исполняемых файлов в coreutils. Я предлагаю строго ограниченное решение.
После установки 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, и использовать опцию no g prefix 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
}
md5
утилита.