特定のソフトウェア(この場合はimagemagick)をコンパイルするために必要な、さまざまなソースファイルに関する情報が格納されている.dizファイルからファイルを読み取るシェルスクリプトを作成したいと思います。この例では、Mac OSXLeopard10.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"
実際、私はこれに関して1つ以上の質問があります。
- チェックサムを計算して比較する方法は?md5チェックサムを.dizファイルに保存し、文字列を「切り取る」ことで文字列比較と比較したかった
- 保存する別のファイル名をcurlに指示する方法はありますか?(私の場合、ファイル名は醜いlibpng-1.2.42.tar.bz2?use_mirror = biznetnetworksになります)
- パイプされたmd5の出力を指示し、変数$calculated_md5にカットするバックティックに問題があるようです。構文が間違っていますか?
ありがとう!