Я хочу создать шеллскрипт, который читает файлы из файла .diz, где хранится информация о различных исходных файлах, которые необходимы для компиляции определенной части программного обеспечения (в данном случае imagemagick). Я использую Mac OSX Leopard 10.5 для этого примера.
По сути, я хочу иметь простой способ поддерживать эти файлы .diz, которые содержат информацию для актуальных исходных пакетов. мне просто нужно обновить эти файлы .diz с помощью URL, информации о версии и контрольных сумм файлов.
Пример строки:
libpng:1.2.42:libpng-1.2.42.tar.bz2?use_mirror=biznetnetworks:http://downloads.sourceforge.net/project/libpng/00-libpng-stable/1.2.42/libpng-1.2.42.tar.bz2?use_mirror=biznetnetworks:9a5cbe9798927fdf528f3186a8840ebe
часть скрипта:
while IFS=: read app version file url md5
do
echo "Downloading $app Version: $version"
curl -L -v -O $url 2>> logfile.txt
$calculated_md5=`/sbin/md5 $file | /usr/bin/cut -f 2 -d "="`
echo $calculated_md5
done < "files.diz"
На самом деле у меня есть больше, чем один вопрос по этому поводу.
- как правильно рассчитать и сравнить контрольные суммы? я хотел сохранить контрольные суммы md5 в файле .diz и сравнить их со сравнением строк с «вырезанием» из строки
- есть ли способ указать curl другое имя файла для сохранения? (в моем случае имя файла выглядит ужасно: libpng-1.2.42.tar.bz2? use_mirror = biznetnetworks)
- У меня, похоже, есть проблемы с обратными галочками, которые должны направлять вывод переданного по каналу md5 и разрезать его на переменную $ computing_md5. неправильный синтаксис?
Спасибо!