2010/12/30(木)え,これで動いたの?

え,これで動いたの?(シェルスクリプトの話)

Imagemagicのconvertコマンドを使って,
JPGファイルをEPSに一括変換するスクリプトを書いてみたというどうでも良い話題です.
その際に,引数をとって任意のディレクトリ下のファイルを変換するようなものを書こうとして悪戦苦闘.
以下のようにしたら普通に動きました.
#/bin/bash

#Debian Lenny版.当然Windowsでは動かない.
#convert input.jpg eps2:output.eps
cd $1

for jpg in *.jpg
do
convert "$jpg" eps2:"$jpg-jpg2eps.eps"
done

for epsbefore in *.jpg-jpg2eps.eps
do
epsafter=`echo "$epsbefore" | sed -e "s/\.jpg-jpg2eps//g"`
mv "$epsbefore" "$epsafter"
done
実行は,vimのコマンドモード上でだと,
:!./jpeg2eps.sh target-directory/
端末なら
ushi@BigOwl:~/shellscripts/jpg2eps$./jpeg2eps.sh target-directory/
って感じです.シェルスクリプトの頭にあるcd+引数でちゃんと対象ディレクトリに移ったままなんですね.へぇ……*1

*1 : アホですみません….

今日も凍ってるんですかね…….

予報によれば氷点下にはなるそうなので,気をつけて帰路につくことにします.
コーヒー買って帰りましょ.