あと、"$i"の記法はshellの本を注意深く読んだらちゃんと書いてありました。 下記のように直して、実行したら意図どおりに動いてます。m(_"_)m ========================================== #/bin/bash -x do_iconv(){ mv $1 "$1".old /usr/bin/iconv -f euc-jp -t utf-8 < "$1".old > $1 touch "$1".old } for i in *.html do if [ -e "$i".old ] then if [ "$i" -nt "$i".old ] then do_iconv "$i" fi else do_iconv "$i" fi done ======================================