Tôi đã thử sử dụng sha256sum
ở High Sierra; Tôi đã cố gắng cài đặt nó với MacPorts
, như:
sudo port install sha256sum
Nó không hoạt động.
Phải làm sao
Tôi đã thử sử dụng sha256sum
ở High Sierra; Tôi đã cố gắng cài đặt nó với MacPorts
, như:
sudo port install sha256sum
Nó không hoạt động.
Phải làm sao
Câu trả lời:
Gói CoreUtils cũng được xuất bản dưới dạng công thức Bia . Vì vậy, nếu bạn đã cài đặt Brew, bạn cũng có thể chạy:
brew install coreutils
Sau đó thêm PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
vào ~/.bashrc
, chạy source ~/.bashrc
và bạn đã hoàn tất.
Sau khi điều tra một chút, tôi tìm thấy một vé trong một phần mềm không liên quan trong lệnh GitHub sha256sum bị thiếu trong MacOSX , với một số giải pháp:
cài đặt coreutils
sudo port install coreutils
Nó cài đặt sha256sum
tại/opt/local/libexec/gnubin/sha256sum
Như một giải pháp khả thi khác, sử dụng openssl
:
function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
shasum
lệnh có nguồn gốc từ MacOS:function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum
Trả lời bổ sung cho Mig82, có câu trả lời xử lý tiền tố g cho tất cả các tệp thực thi trong coreutils. Tôi cung cấp một giải pháp phạm vi chặt chẽ.
Sau khi cài đặt coreutils với
brew install coreutils
Kết quả ls /usr/local/bin/gsha*
sẽ liệt kê các thực thi tiền tố g:
/usr/local/bin/gsha1sum
/usr/local/bin/gsha224sum
/usr/local/bin/gsha256sum
/usr/local/bin/gsha384sum
/usr/local/bin/gsha512sum
Giải pháp là tạo một liên kết tượng trưng đến tên bạn muốn sử dụng tên không có tiền tố (hoặc có nguy cơ phá vỡ một số chương trình dựa trên các tệp thực thi BSD và sử dụng tùy chọn Homebrew không có tiền tố g)
Thí dụ
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
tiện ích gốc .