Установка sha1sum на git-bash (MinGW)

Я использую git-bash на Windows 7 много. Я так понимаю, это обертка Минго. Он имеет md5sum а не sha1sum. Я хотел бы установить sha1sum, но я не могу выяснить, как.

когда я пытаюсь mingw-get, Он говорит "команда не найдена"

когда я пытался скачать mingw-get С SourceForge, Я нашел установщик только для всей программы MinGW, но не для mingw-get.

Как установить либо получение sha1sum и получении mingw-get?

18
задан Peter Mortensen
19.01.2023 12:01 Количество просмотров материала 3631
Распечатать страницу

2 ответа

mingw-get находится в

sourceforge.net/projects/mingw/files/Installer/mingw-get

после установки запустите

mingw-get install msys-coreutils

6
отвечен Steven Penny 2023-01-20 19:49

Я решил это для себя, добавив функцию оболочки, которая использует включенный openssl для замены части sha1sum, которую я использовал чаще всего.

function openssl_sha1sum() {
    local i nf=0 binary= text=true
    local -a files

    # parse for -b/-t mode output arguments
    for (( i=1; i <= $#; i++ )); do
        case "${!i}" in
            (-t|--text)
                text=true
                binary=
                ;;
            (-b|--binary)
                binary=true
                text=
                ;;
            (-|-[cw]|--help|--version|--status|--check|--warn)
                ;;
            (*)
                let 'nf++'
                files[$nf]="${!i}"
                ;;
        esac
    done

    # execute the appropriate command and reformat the output
    if [ $nf -eq 0 ]; then
        local binfmt='s/$/ *-/;' txtfmt='s/$/  -/;'
        if [ -n "$binary" ]; then
            fmt=$binfmt
        else
            fmt=$txtfmt
        fi
        openssl dgst -sha1 -hex | sed -e "$fmt"
    else
        local commonfmt='s/^[A-Z0-9]\+(\(.*\))= \([0-9a-fA-F]\+\)$/'
        local binfmt="$commonfmt "'*/;' txtfmt="$commonfmt  "'/;'
        if [ -n "$binary" ]; then
            fmt=$binfmt
        else
            fmt=$txtfmt
        fi
        openssl dgst -sha1 -hex "${files[@]}" | sed -e "$fmt"
    fi
}

if ! type -p sha1sum &>/dev/null; then
    function sha1sum() { openssl_sha1sum "$@"; }
fi
1
отвечен thetabit 2023-01-20 22:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх