Я намагався використовувати 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
і ви зробили.
Трохи дослідивши, я знайшов квиток у незв'язаному програмному забезпеченні в команді GitHub sha256sum, відсутній у MacOSX , з кількома рішеннями:
встановлення coreutils
sudo port install coreutils
Він встановлюється sha256sum
в/opt/local/libexec/gnubin/sha256sum
Як інше можливе рішення, використовуючи openssl
:
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasum
команду, рідну для 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-префіксу 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
утиліту.