Обновлены некоторые вещи, теперь это работает.
Сначала скачайте файл:
wget http://source.tar.gz
Затем загрузите md5sum файла.
wget http://source.md5 -o source.tar.gz.md5
Так это выглядит так:
$ ls
source.tar.gz
source.tar.gz.md5
Тогда: vi /bin/md5check.sh
#!/bin/bash
key=$1
[ ! -f "$key" ] && echo "sth done: There is no md5 file to check: $key" && exit
[ ! -f "${key%.*}" ] && echo "sth done: There is no source file to check: ${key%.*}" && exit
[ ! "${key##*.}" == "md5" ] && echo "usage:$0 file.tar.gz.md5" && exit
mdsum=(`md5sum -- "${key%.*}"`);
mdsum_md5=(`head -n1 "$key"`);
[ "${mdsum}" == "" ] || [ "${mdsum_md5}" == "" ] && echo "Propably program error, check spaces or special characters in filenames. md5sum:"${mdsum}" file:"${mdsum_md5} && return;
if [ "${mdsum}" == "$mdsum_md5" ];
then echo " done: CHECKED all ok"
else echo -e " done: WARRNING MD5 sums are not equal!\t(${key})" && echo $mdsum && head -n1 "$key"
fi
а также
chmod 700 md5check.sh
Так что я могу
./md5check.sh source.tar.gz.md5
done: CHECKED all ok
./md5check.sh source.tar.gz.md5
done: WARRNING MD5 sums are not equal! (source.tar.gz.md5)
db41373e270b06c00dd3d2c89b95899a
db21373e270b06c00dd3d2c89b95899a source.tar.gz
И где часть загрузки, упомянутая ранее?
wget http://source.tar.gz && wget http://source.md5 -o source.tar.gz.md5 && /bin/md5check.sh source.tar.gz.md5
Теперь вы можете использовать псевдоним:
this is wrong: alias md5dl="wget $1 && wget $2 -o $(basename $1).md5 && /bin/md5check.sh $(basename $1).md5"
До сих пор не знаю, почему псевдонимы не хотят функционировать, как описано выше, поэтому, если вы используете bash vi .bash_profile
и добавляете:
function md5dl() {
wget $1 && wget $2 -o $(basename $1).md5 && /bin/md5check.sh $(basename $1).md5
}
Перезагрузить источник профиля source .bash_profile
И последний шаг будет:
md5dl http://download.com/me.zip http://download.com/me.md5
Но, на мой взгляд, лучше: (1) скачать все необходимые файлы и (2) затем сравнить все типы «md5, asc, sign, sha1» сразу в каталоге загрузки.
Еще лучше, если вы загрузите папку «md5, asc, sign, sha1» для монитора и автоматической проверки.